{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4cd5b27c",
   "metadata": {},
   "source": [
    "### 一、导入库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "e391f7c6",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import warnings\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "warnings.filterwarnings('ignore')\n",
    "plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus']=False #用来正常显示负号\n",
    "import missingno"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c5f9b39a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份</th>\n",
       "      <th>市场名称映射值</th>\n",
       "      <th>农产品类别</th>\n",
       "      <th>农产品名称映射值</th>\n",
       "      <th>规格</th>\n",
       "      <th>区域</th>\n",
       "      <th>颜色</th>\n",
       "      <th>单位</th>\n",
       "      <th>最低交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>数据入库时间</th>\n",
       "      <th>数据发布时间</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>9FABF2093EC485754BCCA2E513205297</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>红色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>19</td>\n",
       "      <td>22</td>\n",
       "      <td>24</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>5E0CB63A28D060666E38F5417E1FC534</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>红色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>18</td>\n",
       "      <td>22</td>\n",
       "      <td>24</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>FC7FE9E4A9E19A0DCA856E211B456728</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>粉色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>16</td>\n",
       "      <td>19</td>\n",
       "      <td>22</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>C6D05CB73BA09902CCDC27C4B9D49A48</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>黑红色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>16</td>\n",
       "      <td>18</td>\n",
       "      <td>20</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>427BAA73BD3D384FF704D4E13BF01EB5</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>粉色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>20</td>\n",
       "      <td>24</td>\n",
       "      <td>26</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2103043</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>3E0E45ECDD52843D41C487FBB7BEF094</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2103044</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>552CD2C91A20DA48CD8FE41F7F02AFE3</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2103045</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>1C5F3F6AE7E0232791D9170A8125DD4D</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2103046</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>B6BEB81F246F19A5F0CF483DDD008DD2</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2103047</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>74C9227D95C45856683C457BBCD04D90</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2103048 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        农产品市场所在省份                           市场名称映射值 农产品类别  \\\n",
       "0              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "1              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "2              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "3              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "4              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "...           ...                               ...   ...   \n",
       "2103043        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "2103044        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "2103045        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "2103046        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "2103047        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "\n",
       "                                 农产品名称映射值  规格  区域   颜色     单位 最低交易价格 平均交易价格  \\\n",
       "0        9FABF2093EC485754BCCA2E513205297  \\N  \\N   红色  20支/扎     19     22   \n",
       "1        5E0CB63A28D060666E38F5417E1FC534  \\N  \\N   红色  20支/扎     18     22   \n",
       "2        FC7FE9E4A9E19A0DCA856E211B456728  \\N  \\N   粉色  20支/扎     16     19   \n",
       "3        C6D05CB73BA09902CCDC27C4B9D49A48  \\N  \\N  黑红色  20支/扎     16     18   \n",
       "4        427BAA73BD3D384FF704D4E13BF01EB5  \\N  \\N   粉色  20支/扎     20     24   \n",
       "...                                   ...  ..  ..  ...    ...    ...    ...   \n",
       "2103043  3E0E45ECDD52843D41C487FBB7BEF094  \\N  \\N   \\N     \\N    1.0    1.0   \n",
       "2103044  552CD2C91A20DA48CD8FE41F7F02AFE3  \\N  \\N   \\N     \\N    3.0    3.0   \n",
       "2103045  1C5F3F6AE7E0232791D9170A8125DD4D  \\N  \\N   \\N     \\N    4.0    4.0   \n",
       "2103046  B6BEB81F246F19A5F0CF483DDD008DD2  \\N  \\N   \\N     \\N    3.6    3.6   \n",
       "2103047  74C9227D95C45856683C457BBCD04D90  \\N  \\N   \\N     \\N    2.2    2.2   \n",
       "\n",
       "        最高交易价格               数据入库时间      数据发布时间  \n",
       "0           24  2016-07-18 15:05:19  2015-11-27  \n",
       "1           24  2016-07-18 15:05:19  2015-11-27  \n",
       "2           22  2016-07-18 15:05:19  2015-11-27  \n",
       "3           20  2016-07-18 15:05:19  2015-11-27  \n",
       "4           26  2016-07-18 15:05:19  2015-11-27  \n",
       "...        ...                  ...         ...  \n",
       "2103043    1.0  2016-07-18 15:34:18  2010-12-01  \n",
       "2103044    3.0  2016-07-18 15:34:18  2010-12-01  \n",
       "2103045    4.0  2016-07-18 15:34:18  2010-12-01  \n",
       "2103046    3.6  2016-07-18 15:34:18  2010-12-01  \n",
       "2103047    2.2  2016-07-18 15:34:18  2010-12-01  \n",
       "\n",
       "[2103048 rows x 13 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=pd.read_csv('farming2.csv')\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a8ed522",
   "metadata": {},
   "source": [
    "### 二、数据探索"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09a1587c",
   "metadata": {},
   "source": [
    "#### 类型转型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9662af3d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 转换交易价格列为数值类型\n",
    "df['最低交易价格'] = pd.to_numeric(df['最低交易价格'], errors='coerce')\n",
    "df['平均交易价格'] = pd.to_numeric(df['平均交易价格'], errors='coerce')\n",
    "df['最高交易价格'] = pd.to_numeric(df['最高交易价格'], errors='coerce')\n",
    "\n",
    "# 转换日期列\n",
    "df['数据入库时间'] = pd.to_datetime(df['数据入库时间'], errors='coerce')\n",
    "df['数据发布时间'] = pd.to_datetime(df['数据发布时间'], errors='coerce')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d3fc8ba9",
   "metadata": {},
   "source": [
    "#### 查看数据分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e669366b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最低交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最高交易价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>2.102799e+06</td>\n",
       "      <td>2.102801e+06</td>\n",
       "      <td>2.102799e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>5.395585e+00</td>\n",
       "      <td>7.594563e+00</td>\n",
       "      <td>6.497695e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.349608e+01</td>\n",
       "      <td>1.627666e+01</td>\n",
       "      <td>1.545880e+01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>6.000000e-01</td>\n",
       "      <td>2.100000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2.400000e+00</td>\n",
       "      <td>3.800000e+00</td>\n",
       "      <td>3.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>5.200000e+00</td>\n",
       "      <td>7.200000e+00</td>\n",
       "      <td>6.500000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>5.400000e+02</td>\n",
       "      <td>7.200000e+02</td>\n",
       "      <td>8.000000e+02</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             最低交易价格        平均交易价格        最高交易价格\n",
       "count  2.102799e+06  2.102801e+06  2.102799e+06\n",
       "mean   5.395585e+00  7.594563e+00  6.497695e+00\n",
       "std    1.349608e+01  1.627666e+01  1.545880e+01\n",
       "min    0.000000e+00  0.000000e+00  0.000000e+00\n",
       "25%    6.000000e-01  2.100000e+00  1.000000e+00\n",
       "50%    2.400000e+00  3.800000e+00  3.000000e+00\n",
       "75%    5.200000e+00  7.200000e+00  6.500000e+00\n",
       "max    5.400000e+02  7.200000e+02  8.000000e+02"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "71f7e1ba",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 2103048 entries, 0 to 2103047\n",
      "Data columns (total 13 columns):\n",
      " #   Column     Dtype         \n",
      "---  ------     -----         \n",
      " 0   农产品市场所在省份  object        \n",
      " 1   市场名称映射值    object        \n",
      " 2   农产品类别      object        \n",
      " 3   农产品名称映射值   object        \n",
      " 4   规格         object        \n",
      " 5   区域         object        \n",
      " 6   颜色         object        \n",
      " 7   单位         object        \n",
      " 8   最低交易价格     float64       \n",
      " 9   平均交易价格     float64       \n",
      " 10  最高交易价格     float64       \n",
      " 11  数据入库时间     datetime64[ns]\n",
      " 12  数据发布时间     datetime64[ns]\n",
      "dtypes: datetime64[ns](2), float64(3), object(8)\n",
      "memory usage: 208.6+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "91a76498",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最低交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最高交易价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>最低交易价格</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.606843</td>\n",
       "      <td>0.976821</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>平均交易价格</th>\n",
       "      <td>0.606843</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.614057</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>最高交易价格</th>\n",
       "      <td>0.976821</td>\n",
       "      <td>0.614057</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          最低交易价格    平均交易价格    最高交易价格\n",
       "最低交易价格  1.000000  0.606843  0.976821\n",
       "平均交易价格  0.606843  1.000000  0.614057\n",
       "最高交易价格  0.976821  0.614057  1.000000"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#斯皮尔曼相关系数计算\n",
    "df.corr(method='spearman')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5577575f",
   "metadata": {},
   "source": [
    "#### 相关性分析"
   ]
  },
  {
   "cell_type": "raw",
   "id": "f3673eec",
   "metadata": {},
   "source": [
    "sns.pairplot(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cf70d28b",
   "metadata": {},
   "source": [
    "### 三、 数据预处理"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6abe7f56",
   "metadata": {},
   "source": [
    "#####  查看缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9c7cfdc1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: >"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAACE4AAAQJCAYAAADSe9+fAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd5gX1f0/7PfsLr2JYEXAhoWABXshiNiNoMYC2LC3RGMsRMUSFbsmtijWCBhjj+VnQWNHLFi+aGw0EQtVitLZPc8fPmzcALroUOe+r4uLzZz5nD2zeWWuCfPamSyllAIAAAAAAAAAoIBKlvYCAAAAAAAAAACWFsUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnIClIKW0tJfACkamyJtMkTeZIm8yRd5kirzJFHmTKQCAX8b1FHmTqRWL4gQsAd99911MmTIlPv3004iIyLJsKa+I5Z1MkTeZIm8yRd5kirzJFHmTKfImUywOFRUVMW3atKW9DICFcp4iT66nyJtMrdgUJ2Axe//99+Poo4+ObbfdNrbddts4/PDD46OPPlray2I5JlPkTabIm0yRN5kibzJF3mSKvMkUefvoo4/ivPPOi9133z122WWXOO644+K1116L2bNnL+2lsZwaPnx4fPDBB0t7GaxAnKfIm+sp8iZTK76ypb0AWJENHjw49tprr5g+fXpsvfXWUatWrejfv39888038cgjj0SNGjWW9hJZzsgUeZMp8iZT5E2myJtMkTeZIm8yRd7efPPN2HPPPWPatGmx5pprxtSpU+ONN96IgQMHxrnnnhsHHXRQlJX5Z2KqJ6UUs2bNil122SU222yzuPDCC2PTTTdd2stiOec8Rd5cT5E3mSoGT5yAxeTzzz+PQw45JNZdd93o27dvPP/88/H444/H0UcfHU8++WTceeedS3uJLGdkirzJFHmTKfImU+RNpsibTJE3mSJvo0ePjiOOOCJatWoV99xzT4wYMSIGDRoU559/fnz++edx4403xsSJE5f2MlmOZFkWtWvXjtVWWy0effTR+Mtf/hJDhgxZ2stiOeY8Rd5cT5E3mSoOxQlYTN5777348ssv46STTor9998/IiKaN28eBx98cERElJaWzveZioqKJbpGli8yRd5kirzJFHmTKfImU+RNpsibTJGXlFJERLz22msxatSoOO644+K3v/1tRES0atUqjjvuuOjcuXO8/vrr0adPn6W5VJZTTZo0iYiIfv36xUUXXRTvv//+Ul4RyxvnKRYX11PkTaaKw7ONYDEZM2ZMTJ8+PXbZZZeIiJg+fXrUrVs36tatG+uuu2689NJLMXLkyCgvL48ddtghOnbsGPXr14+KioooKdFpYn4yRd5kirzJFHmTKfImU+RNpsibTJGXLMsiIuKtt96K2bNnx9577x0REeXl5VFSUhJrrrlmHHrooXHvvffGM888E7/73e+icePGlZ+DhZl3vhk/fnx07Ngxttpqq7j66qsjy7I4//zzo23btkt7iSwnnKdYXFxPkTeZKg7FCchZSimyLItVV101IiJuv/32OOOMM6Ju3boREXHLLbfEiBEjYsSIEZFlWaSUolatWnHkkUfGFVdcEQ0aNFiay2cZJFPkTabIm0yRN5kibzJF3mSKvMkUi0tJSUlUVFTExx9/HKuttlqVf8CvXbt2RES8/vrrMXTo0Nhmm22W5lJZTpSUlMTs2bNj/PjxsdVWW0WvXr2ioqIirr322ogI5QkWmfMUeXE9Rd5kqoASkIuZM2fOt619+/aptLQ07bHHHqlnz55p9913T1mWpTXWWCM9/PDD6ZVXXkkvvPBC2nTTTVOWZenyyy9Pc+fOXQqrZ1kkU+RNpsibTJE3mSJvMkXeZIq8yRSLS0VFRUoppSeffDJlWZa6du1aZXzKlCnpvPPOSzVq1EhZlqWLL744pZRkiSrm5SillMrLy6uM/fGPf0yXXXZZSimlzz77LJ155pmptLQ0HXDAAWnIkCFLdJ0sn5ynyIvrKfImU8WlOAE5+L//+7+06667pvfffz+l9N+Lvm+++Sb95je/SXXq1EmtWrVKWZalxo0bp/fee6/K5995553UuHHj1LFjxzRnzpwlvn6WPTJF3mSKvMkUeZMp8iZT5E2myJtMkbe5c+emGTNmpEmTJqXp06enlFL66quvUvv27VOWZalbt27p+eefTwMHDkwXX3xxatKkSVp77bVTrVq10p577rmUV8/yYt5NoNGjR6fvvvuucvvo0aOVJ/hJzlPkzfUUeZOpYlOcgBz0798/ZVmWDjrooPSf//xnvvHPPvssPfXUU6m0tDT17NkzpZSqnDC//PLL1KJFi5RlWRo8eHCVNjfFJFPkTabIm0yRN5kibzJF3mSKvMkUeRoyZEg6+uij00YbbZTWWGON1Lp16/TAAw+klFL6+OOP0+abb56yLEtZlqWaNWumLMvSLrvskp577rnUqlWr1Lhx4zRixIilfBQsS95999107LHHpp133jntv//+6eqrr07jxo2bb78fPolCeYIf4zzF4uB6irzJVLGVLe1XhcCKYKONNoqIiAceeCCmTZsWV111VWy88caV4y1btowpU6ZERUVFfPfddxERUVZWFnPmzIkaNWpEgwYNoqysLNZff/1o3rx5ZFm2VI6DZYdMkTeZIm8yRd5kirzJFHmTKfImU+Tlrbfeil133TVKS0ujdevW0bRp0xg4cGAcffTR8dlnn8UZZ5wR99xzT/zjH/+IV155JWrXrh1bbLFFnHbaadG0adM48sgj49xzz40PP/ww1llnnaV9OCwDhgwZEh07dozGjRtH69at47PPPosXX3wx/vKXv8T1118fu+22W9SvXz8iIkpKSio/t9Zaa8Upp5wSERHXXnttRERccMEF0aZNmyV/ECxTnKdYXFxPkTeZKril3dyA5V15eXn68ssv01prrZVWWmmlVL9+/bT99tunjz76qMp+3377bVp//fXTtttum8aMGVNl7PDDD09ZlqW99947TZ48eUkun2WQTJE3mSJvMkXeZIq8yRR5kynyJlPk5euvv05bbbVV2mKLLdITTzyRUvo+X7fccktac80108orr5zeeuutlNL3j8ifM2dOmj17dpU5HnnkkZRlWerVq1fl5ymmioqKNGPGjNSlS5e0xhprpKeffrpy7NFHH0177LFHqlWrVrrwwgvTqFGjFjrPvCdP1K5dO+22224L/I1disN5isXF9RR5kykUJyAnO++8c1pnnXXS3XffnVZeeeXUoUOHKifTuXPnposuuihlWZZ23nnndO+996a33norde/ePWVZltZYY400bNiwpXgELGtkirzJFHmTKfImU+RNpsibTJE3meKXevbZZ1PDhg3TtddeO9/Y2WefnbIsS3vttVf67rvv5hufO3duSimlWbNmpQ022CDtsMMO3sVNmj59emrZsmVq3779fGNjxoxJJ5xwQsqyLP3+979PQ4cOXeg8o0ePTieddFJq2rRpGj169OJcMss45ykWN9dT5E2miktxAn6h8vLyVF5eno466qi00korpaFDh6Zbb701NWrUKHXo0KFKo/rjjz9OZ555ZmratGnKsiyVlJSkLMvSxhtvnD7++OOleBQsS2SKvMkUeZMp8iZT5E2myJtMkTeZIi+XXHJJyrIsvfzyyyml77M170bj8OHD0yqrrJLatGkz329D/q9tttkmrbnmmumbb75Z7Gtm2TZlypS0yiqrpF133bVy2w9/u3/OnDnpj3/8Y2V54ssvv1zoXF9++WUaO3bsYl0vyz7nKRYX11PkTaYoW9qvCoHl3bz3+HXo0CHuuuuumDhxYhx++OFRWloaZ5xxRpx88slx7bXXxiuvvBITJkyIHj16xA477BD33XdflJSUxKabbhrdu3ePZs2aLeUjYVkhU+RNpsibTJE3mSJvMkXeZIq8yRS/xOjRo2ONNdaIsrKyygyMGjUq2rdvHxUVFVFW9v0/+U6YMCGmTJkSEyZMiPvvvz9+//vfzzdXRUVFlJSURK9evWL99dePxo0bL9FjYdlSUVERpaWl0axZs3juuefiueeei1122aXynBXx/Xvcr7zyypg5c2bcfPPN0bx58zjzzDMrs/RDa6655pI+BJYRzlMsCa6nyJtM4YkTUA0VFRWVfy/s/WkDBgxIWZalvn37ppRSmjhxYurXr19aaaWV0gYbbJDq1KmTNthggyW2ZpZtMkXeZIq8yRR5kynyJlPkTabIm0yxOLz55ptpjTXWSMcdd1wqLy9PAwcOTPXq1UvrrrtulUdCT506NV111VWpbt26qaysLJ188skppf/mEn5Mnz59UpZl6dhjj03jx49f4D6jRo1Kv/71r1Pjxo09jpwqnKfIk+sp8iZT/JiSn65WALNmzYqIiPLy8irN6YqKisqv27ZtG6usskq8+OKLERGx8sorx2677RadO3eOYcOGRa1ateKBBx6o/FxKKSKi8m+KRabIm0yRN5kibzJF3mSKvMkUeZMp8jZo0KBo3759jBkzJt56661IKcX2228fhxxySIwcOTJ23XXX6N+/fzz44INx6aWXxiWXXBLNmjWLOnXqxIMPPhjjxo2LLMuW9mGwDBk/fny8/fbbMWDAgHjnnXcqt++1116xzz77xN///vd44IEHqpxz5n3dvHnz2HfffWPy5Mlx9dVXVxmjuJynyJvrKfImU/wYxQn4CW+//XYcfPDB0bZt22jTpk2cdtpp8eSTT0ZEVDmpNmnSJFZfffUYNWpURETMnDkznnjiiXjssceiefPmERFx5plnxnvvvRclJSWVF4AuBItHpsibTJE3mSJvMkXeZIq8yRR5kyny9vrrr8fOO+8c7dq1i9/97nfx3nvvxaOPPhoREX369InDDjssPvvsszj88MPjoIMOiiuuuCK23XbbePTRR6Nz584xfvz4GDNmTET4R32+9+6778Y+++wT22yzTeyxxx6x5ZZbxmWXXRYREWuttVb8/ve/j0033TT++Mc/xj//+c/Kz2VZFuXl5ZFlWfz2t7+NlVZaKT7//PPKMYrLeYq8uZ4ibzLFT1pCT7aA5dL777+fmjRpktq0aZOOOOKIdNxxx6VmzZqlunXrptNPPz1Nmzatyv5du3ZNG264Yfrss8/SzTffnFZaaaW05ZZbpokTJ6YHHnggZVmW9tprrzRr1qyldEQsbTJF3mSKvMkUeZMp8iZT5E2myJtMkbdBgwal2rVrp6222iq9+OKL6b333kv16tVLl1xySZX9+vTpk0455ZR03HHHpWuvvbYya3//+99TlmXpwgsvTCl5DD4pvf3226lJkyZp/fXXT3/4wx/Sddddl5o1a5ayLEv9+/ev3O/RRx9Nm2++eapdu3a64YYb0ldffVVlnuHDh6f69eunzp07L+lDYBnjPEXeXE+RN5miOhQnYCHKy8vTcccdlxo1apSeeOKJyu3vvPNOOu2001JZWVnaf//904cfflg5ds0116RatWqlc845J6222mppiy22SLNnz04ppTRhwoTUr1+/9PHHHy/xY2HZIFPkTabIm0yRN5kibzJF3mSKvMkUefvhzchnn322cnunTp3Sr371qzRp0qSfnGPYsGGpUaNGqWvXrotxpSwvxo8fnzp06JDatm2b/t//+3+V2+e9z71r165pxowZldufeuqp1KlTp1RaWpoOOuig9NBDD6WJEyemMWPGpO7du6csy9KVV16ZUnKzu6icp8ib6ynyJlNUl+IELMScOXPSlltumTbaaKPKk2F5eXlKKaWJEyemW265JdWvXz/tsssu6Y033kgppfTEE0+kLMtSlmVpiy22SHPmzEkppcrP+z8PxSZT5E2myJtMkTeZIm8yRd5kirzJFHl66623UpZlaeutt07PPfdclbFzzjkn1ahRI73++usppVSZmx+qqKhI5eXladasWaljx46padOmacSIEUtk7Sy7Pv7449S4ceN0wQUXVG6bO3duKi8vT+uss0465ZRT0pw5c9LUqVMrx4cNG5bOOOOMynNVgwYNUs2aNVOWZWnPPfdMX3755VI4EpYFzlMsDq6nyJtMUV2KE7AQ5eXladttt00tW7ZM48ePTylVPRHOmDEj3XPPPalBgwZp1113TaNGjUozZ85Mbdu2TW3atKk8iS7ogpBikinyJlPkTabIm0yRN5kibzJF3mSKvMyaNSv16tUr7brrrumZZ56p3D537tyUUkqjRo1KdevWTSeeeGK15jv55JNTkyZN0rhx4xbLell+vP7666lu3brpxhtvrLJ9woQJad11100bbLBBat++fVp33XXTsccem1599dXK89grr7ySLr744tStW7d00kknpfvvvz+NHTt2aRwGywDnKRYX11PkTaaoLsUJ+BEHHnhgyrIs3XbbbZUXfD80Y8aMdMstt6SaNWumww47LKWU0qRJk5xEWSiZIm8yRd5kirzJFHmTKfImU+RNpsjL119/nYYNG1b5n3/4D/xTp05NnTp1Si1atEiffPLJQueY99uUr776aho+fPjiWyzLjalTp6Z11103bbPNNuntt99OU6ZMSdOnT09HHXVUyrIslZWVpXbt2qVmzZqlmjVrps022yw9+uijfrOWBXKeYnFxPUXeZIrqUJyAtPBH6rz88stp5ZVXTh07dqxsT//vvmPGjEmHHnpoyrIs9e3bt3L7vAs+ikmmyJtMkTeZIm8yRd5kirzJFHmTKZaEeZlYUN4efPDBlGVZuuuuuxa6DyzIvffem1ZeeeXUpEmTtPnmm6ftttsuZVmWWrZsmV599dX07bffplGjRqVrrrkm1atXL3Xu3Lny0eRz586tzJrMkZLzFL+M6ynyJlP8EiUBxKxZs2LKlCnx/PPPx/Dhw2POnDkREdGqVavo1q1bvPjii/GnP/0pIiKyLIuUUuVnV1tttTj66KMjIuJf//pXRERUVFRESYn/eRWZTJE3mSJvMkXeZIq8yRR5kynyJlPkbdSoUfHss8/GXXfdFa+99lrMnj07SkpKYu7cuZFl2Xz7b7nllrHBBhvEBRdcECNHjlzgPhTb/2Zq1qxZERGx6667Rv/+/aN169bRvHnzePPNNyMi4sEHH4wddtgh6tWrFy1atIju3bvHFltsEY8//ng899xzERFRWlpamTWZKx7nKfLmeoq8yRS/yNJqbMCy4ssvv0znnXdeWn/99VOWZalp06apa9euadq0aSmllD788MPUpUuXlGVZOvnkk6t8try8PJWXl6cZM2akFi1apHXWWSfNmDFDc7bgZIq8yRR5kynyJlPkTabIm0yRN5kib4MHD04tWrRIWZalLMtSvXr10m9/+9s0ffr0lNLCf9PxggsuSFmWpdtvvz2llBb46GmKaUGZ2n///SvPUyl9n6tJkyalTTfdNG299dYppe8fRV5RUVGZpWOPPTZlWZbuueeepXIcLDucp8ib6ynyJlP8UooTFNqkSZPSKaeckho0aJB233331Lt377TVVlulLMvSscceW/kIuvfffz917tw5ZVmWDj/88PTZZ59VeZ/RzJkz0+qrr546duy4tA6FZYRMkTeZIm8yRd5kirzJFHmTKfImU+RtyJAhqWHDhqmkpCQdfvjhqWfPnmmDDTZIWZalbt26pVmzZs33mXk3KCdMmJA23njjtNlmm1Xu53HSLEqm5s6dm7bbbru04YYbVm6bMWNG5dc77rhjqlmzZnr66aeX6DGwbHGeIm+up8ibTJEHxQkK7bXXXksrr7xylWZZRUVF2mCDDVKLFi3Sl19+Wbn9ww8/TEcffXSqUaNG2nLLLdNFF12U3nnnnfTmm2+mrl27pizL0tlnn53Ky8s10ApMpsibTJE3mSJvMkXeZIq8yRR5kyny9O2336b99tsvZVmW/vrXv1Zunzx5ctpggw1SgwYN0muvvZZSWvA7u2fNmpXOOuuslGVZ+t3vfrfE1s2ya1EyNWfOnDRnzpx06qmnpizL0mWXXVZlrmOOOSZlWZa22mqrNG7cuCV6HCw7nKdYHFxPkTeZIg+KExTaGWeckRo2bFjZJpsyZUpKKaXLLrssNWrUKL3//vsppf9e8I0aNSrdcccdqVWrVinLslSjRo2UZVmqWbNm+s1vfpO++OKLpXMgLDNkirzJFHmTKfImU+RNpsibTJE3mSJP3377bdp4441Tu3btKrfNe+z9XXfdlbIsSxdddNGPzvHVV1+lVq1apRo1angqAD8rU2+++WZae+21U5Zl6ZBDDkmXXHJJ2n333VOWZWn11VdPn3766RI9BpYtzlMsDq6nyJtMkYeygAKrW7dulJaWxpgxY2KttdaKhg0bRkTEuHHjYurUqfHss8/GvffeGw0bNozjjz8+WrRoEUcddVQcfPDBcc8998SYMWNi9uzZ0aFDh2jXrl00adJkKR8RS5tMkTeZIm8yRd5kirzJFHmTKfImU+QlpRRff/11jB49OrbbbruIiJgzZ07UqVMnIiLatWsXNWrUiFdeeSUiIsrLy6O0tLTKHOXl5bHGGmtEz549o1evXrHRRhst2YNgmbKomZo7d26UlZXFVlttFffcc0/07NkzHn744Zg5c2bUqVMntt1227j77rujVatWS+2YWLqcp1hcXE+RN5kiF0u5uAFLVZ8+fVKWZWnIkCGV2z766KPUunXrlGVZatiwYcqyLGVZln71q1+lzz//fCmuluWBTJE3mSJvMkXeZIq8yRR5kynyJlPkbeedd05rrbXWAsd22GGHtNpqq6WpU6f+6BxffvllGjNmzOJYHsuhRc3UvN++/fTTT9NTTz2VLrvssvT888+nsWPHLpH1suxzniJvrqfIm0yRh5KlXdyApaG8vDwiIrbeeus499xzo1GjRpVjY8aMiS+++CJuu+22+Pe//x1ffvllHH300fHhhx/GwQcfHLNmzYqI79u28/zwa4pJpsibTJE3mSJvMkXeZIq8yRR5kynyVlFRERERbdu2jUMOOWSB+7Rs2TImTpwY06dPr/KZeeblaM0114zVVlttMa6W5cHPzVSWZRER0apVq9hjjz3iT3/6U3Ts2DFWXXXVJbNwllnOU+TN9RR5kynylCUJoADGjx8fEydOjFmzZkXz5s1j5ZVXrhz738eHTZ8+PSZNmhTNmjWLlFJkWRazZs2KfffdN5555pl45513YrPNNlsKR8GyRKbIm0yRN5kibzJF3mSKvMkUeZMp8rawTM3LzA+/nvd3r1694tJLL42XXnop2rdvXznXK6+8EmuuuWast956S+VYWDbkmamXX345mjVrJlMF5zxF3lxPkTeZYnHyxAlWeG+++WZ06tQptt122+jYsWO0adMmzjvvvHj99dcjIqK0tLRKg6xu3brRrFmziIjIsixmzpwZtWrViu7du0fE9+9DothkirzJFHmTKfImU+RNpsibTJE3mSJvC8vUoEGDKm9GlpeXV3497+95NxwnTpxYOdfTTz8d3bp1i65du1b+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6qi44447IiJi7ty5sckmm8THH38cjz/+eOy9994REfHMM8/EHnvsEX369Injjjtuoce6xx57xDPPPBMRES+88ELlEzNSStGyZcto3LhxDB48OGrUqFF5vNtuu20MGTIkhg0bFuuuu261fqYr1BMntt566xg4cGBcf/31uc152223xaxZs+Kcc86pDEdExFlnnRU1a9aM/v375/a9AAAAAAAAAGBhPvrooxg0aFD88Y9/jGOOOSayLIuIiJVWWilOPPHEiIgYPHhw5f777LNP3HvvvdGnT58fnXdR7ov3798/Pv7447jpppuiTZs2ERFRUlISZ5xxRqy88spVihn//ve/46OPPorOnTtXliYiInbffffYbrvt4q677lromm699dZ45plnqqxnnrFjx8bo0aNjt912qyxNRETUrl07dtlll0gpxbBhw370mH9ohSpONG7cON58883YZ599cpvz5ZdfjoiI/ffff77vtdVWW8Wzzz6b2/cCAAAAAAAAgIXZeOONY9q0aXHxxRfPNzZ37tyIiCpFgizL4sUXX/zRpzpELNp98f322y9efvnlyqda/PD7f/fdd1GvXr2fnDciYrfddos33ngjpk6dOt/YZ599FmeccUa0bt06/vSnP803Xrdu3ciyLP7zn//MNzZkyJCIiFhnnXUWerz/a4UqTgwaNChat26d65xff/11rLzyytGiRYv5xlq1ahXDhw/P9fsBAAAAAAAAwMLUqFEjatWqNd/2xx9/PCIidtxxx8ptTz31VOywww4/Oeei3BdfeeWVo3379pVPu5jnL3/5S8yePbvKgw6+/vrriIho167dAudNKcXIkSOrbE8pxZFHHhkzZ86Mfv36Re3atef7bMOGDWPvvfeOp556Ki6//PKYMGFCjBs3Li666KJ49tlno1OnTtGqVaufPO55VqjiRGlpae5zTp06NVZfffUFjjVu3DgmT54c06ZNy/37AgAAAAAAAEB1DBw4MJ577rnYZJNNomPHjpXbq3sP/efeF580aVLcdttt0blz5+jZs2fsvvvucd5551WZNyJitdVWW+C8ERFffPFFle033HBDvPjii3HhhRcusHAxT9++faNTp05x9tlnxyqrrBKrrbZaXHDBBdGtW7d45JFHfvqgf6BskfYuoNLS0qhbt+4Cx+a1eKZPn17lcSPLm5NOOmlpL2G58be//W1pL2G5IFPVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVI1PVJ1PVJ1fVsyJmasaMGXHMMcdElmVx3XXXzfckiOr4uffFP/300zjllFNi5syZUatWrTj++OOrPCFiXnFjQXP/cN55hg4dGmeffXZst9120bNnzx9d84ABA2LQoEEREdG0adOoqKiIb775Jl544YV45JFH4vDDD/+pw660Qj1xYnGoX79+zJo1a4Fjs2fPrvI3AAAAAAAAACxJv//97+Pjjz+OU045JXbaaaefNcfPvS++zTbbxNSpU+Ppp5+O9ddfP/bff/+44447qswbEQuc+3/nraioiB49ekSWZdGvX78ffVrGyJEjo0ePHtGkSZN49dVXY/z48TFx4sQYMGBApJSiR48e8dJLL1Xz6BUnftJaa6013ztV5hk7dmxE/PcRIgAAAAAAAACwpNx+++1xxx13xNZbbx1XXnnlz57nl9wXr1GjRuy+++7x3HPPRb169aJXr15RXl5eOW9ExIgRI35y3quvvjpee+21uPbaa2O99db70fXee++9MXPmzLjuuutihx12qNy+6667xp133hkppejbt++PzvFDihM/YfPNN4/vvvsuPvzww/nGBg0aFA0aNFjoI0sAAAAAAAAAYHF49dVX4+STT47VVlstHnzwwahZs+bPnmtR74unlObbb/XVV48tt9wyxowZE5MmTaqcNyLizTffXOC88z43ceLEOP/886Nhw4bx+eefR69evSr/PPzwwxERcccdd0SvXr1i5MiR8fnnn0dEROvWreebt23bthER8cUXX1T7+BUnfkKXLl0iYv533bzxxhvx6aefRqdOnZbGsgAAAAAAAAAoqP/85z/RpUuXyLIsHn744WjevPkvmm9R7oufeOKJscoqq8TUqVPnm2fixIlRUlJSWbLo1KlT1KtXL2699dbKp1BERHz33XfxyCOPRJMmTWLTTTeNb7/9NmbNmhVTp06N3r17V/nz+OOPR0RE//79o3fv3jFq1KhYddVVIyJi6NCh861h8ODBERHRtGnTah+/4sRP6NixY2yxxRZx8803x2233RYppRg6dGgcddRRERFx5JFHLuUVAgAAAAAAAFAUw4YNi06dOsU333wTd9xxR2y//fa/eM5FuS++/fbbx8SJE+P444+POXPmVG5/+OGH44MPPoiOHTtWFicaNGgQxx9/fPzf//1fnHjiiTF9+vT49ttv44gjjojx48fH4YcfHqWlpbH22mtHSmmBf+66666IiHjhhRcipRQ77bRTbLrpphERccEFF8SoUaMq1/D666/HaaedFhERe++9d7WPv+xn/tyWa5MnT46rr746GjduHKeffvpP7n/fffdFp06d4rjjjos//vGPMX369KioqIjjjjsuOnfuvARWDAAAAAAAAADfP/Fh7Nixse6668ZHH30UvXr1qjK+zjrrxNFHH73I81b3vvghhxwS999/f/zzn/+M9957L3bZZZcYN25cPPzww7HqqqvO99SKSy+9NIYMGRK33XZb9O3bN1JKMXv27Nhss83ikksu+Vk/gy5dukT79u3jlVdeiXXWWSdWWWWVmDFjRnz77bcREbHTTjtF165dqz1fYYsTvXv3jpYtW1arOLHeeuvFBx98EFdddVU8//zzUa9evTjyyCPj4IMPXgKrBQAAAAAAAIDvvfTSSxERMWLEiOjdu/d84x06dPhZxYnq3hcvKSmJBx98MG644Ya4++67484774w11lgjTjrppOjVq1esssoqVfavVatWDBgwIO6888647777YsaMGbHXXnvF6aefHjVr1lzkdUZElJWVxYABA+Kaa66J++67L4YNGxbl5eWx/vrrxwEHHBDnnXdelJRU/wUcK2RxYt5jPH7u+ILUr18//vznP8ef//znX7o8AAAAAAAAAPhZZs+e/bM+V5175NW9L16rVq0444wz4owzzqjW986yLI4++uifVejo0aNH9OjRY77ttWvXjnPPPTfOPffcRZ7zf1W/YgEAAAAAAAAAsIJRnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACmuFK07MmTMnrrrqqthwww2jTp06sfnmm8fTTz/9i+acPHlynHDCCbH++utHnTp1onnz5nHwwQfHxx9/nNOqAQAAAAAAAKD6pk2bFu3atYsePXpUa/+PP/44ateuHZtssknMnTt3vvFFuS8+a9asuOSSS2KDDTaIGjVqRN26daNDhw7xxhtvVGstf/7znyPLsvjss8/mG5s7d27ce++9cdJJJ8VRRx0VV1xxRYwePXqB8zz++OOx4447RpMmTaJRo0bRrl27uOGGG6K8vLxa65hnhSpOpJTi0EMPjbPOOitKS0vj5JNPjlq1asVvfvObeO65537WnLNnz45ddtkl7rzzzthmm23ipJNOik022SQefPDB2GabbeLDDz/M+SgAAAAAAAAAYOHKy8uje/fu8e6771Zr/4qKijjyyCNjzpw5ceutt0ZZWVmV8UW5L55Sin333TfOO++8GDNmTHTo0CHWW2+9ePnll6NDhw7xzjvv/Oha3n333ejdu/cCx7799tvo0KFDdO/ePR555JF4/vnn409/+lO0adMmXnjhhSr7PvTQQ9GlS5eYMmVKHHbYYdG1a9eYMGFCnHLKKXHCCSdU6+cyzwpVnPjHP/4R999/f7Rv3z7efffduPrqq2PgwIGx3XbbxTHHHBNz5sxZ5Dn79esXb7/9dvTv3z/uueeeuOaaa+L//b//F/3794+pU6fGFVdcsRiOBAAAAAAAAADmN2nSpNhrr73iscceq/Znrr322nj99dfjxBNPjG233Xa+8UW5L/73v/89nn766ejSpUuMGjUqnnvuuXj//fejV69eMWvWrLj44osXuo7Zs2fHEUccsdB796ecckq88cYbcd9998XXX38dn332WTz//PMxZ86cOOaYYyr3SynFaaedFm3bto133nkn/vrXv0afPn3i008/jU033TTuuOOOGDFiRLV/PitUceLGG2+MiIjrr78+atWqFRERpaWlcd5558WoUaPi+eefX+Q533rrrYiI2Hvvvats32effSIiYujQob9kyQAAAAAAAABQbVtvvXUMHDgwrr/++mrt/+mnn8b5558fzZo1i0svvXSB+yzKffE77rgjmjdvHvfdd180bty4cvuf/vSniIgYPHjwQtdy4YUXxvvvvx8tW7acb2zo0KHRt2/f+N3vfhcHHXRQ5faOHTvGHnvsESNGjKh8ZcfYsWNj9OjRsdtuu0WNGjUq961du3bssssukVKKYcOGLXQd/2uFKU7MmDEj3nrrrVhnnXVis802qzK20047Rc2aNePZZ59d5Hnr168fERH/+c9/qmwfMmRIRESss846P2/BAAAAAAAAALCIGjduHG+++WZlqeHHVFRUxFFHHRUzZsyIG264IRo2bLjA/Rblvvirr74aH374YeXDDOYpLy+PiKhSZPihN954I6688sro1KlTHHHEEfONr7XWWvHGG2/EeeedN9/Y5MmTIyKiXr16ERFRt27dyLJsvvUubM0/ZYUpTowfPz7Ky8ujXbt2843VrFkzWrRoEcOHD1/keQ888MAoLS2No48+Ot5+++2YPn16vP7663HMMcdESUlJHH/88XksHwAAAAAAAAB+0qBBg6J169bV2vemm26KgQMHRsuWLeP999+P0047LW666aaYNGlSlf0W9b74vKLFDz3++OMREbHjjjvONzZz5sw44ogjokGDBvH3v/89siybb586derElltuGU2aNKmy/bXXXouXX345tt9++1h55ZUjIqJhw4ax9957x1NPPRWXX355TJgwIcaNGxcXXXRRPPvss9GpU6do1apVtX5GERFl1d5zGTd16tSIiFhttdUWON64ceP44osvFnnebbbZJu6///7o2rVrbLnllpXbV1tttXjsscfi17/+9c9bMAAAAAAAAAAsotLS0mrtN378+MqnN4waNSouuOCCyrFLLrkk/vnPf0aHDh0i4pffF58zZ05ceumlkWVZnHrqqfONn3POOfHJJ5/EPffcE2uttVa11n/vvffGyy+/HHfeeWe0aNEi+vXrV2W8b9++ceCBB8bZZ58dZ599duX2bt26RZ8+far1PeZZYZ44MS8cdevWXeB4rVq1Yvr06Ys873fffRfXX399zJkzJ8rKyqJZs2ZRo0aNGDduXNxyyy0xceLEX7RuAAAAAAAAAMjblVdeGVOmTIlatWrFTTfdFJ999ll8+OGH0bNnzxg3blzst99+MWbMmIj45ffFe/fuHR9++GH06NEjtthiiypjr7zySlx33XVx0EEHRffu3au9/pNPPjluueWWmD17dnTv3j2aN29eZXzAgAExaNCgiIho2rRp5dMoXnjhhXjkkUeq/X0iVqDixLxHgcyaNWuB47Nnz47Zs2cv8rynn356vPTSS3HKKafEpEmT4osvvoivv/46jjnmmHjiiSfiwAMP/EXrBgAAAAAAAIC8PfTQQxHxfYHipJNOipYtW8bGG28cl19+eZx88skxadKkuO+++yLil90Xf+mll+KSSy6Jli1bxl/+8pcqY9OmTYsjjzwyVl999bj55psXaf3ffPNNvPvuu7HvvvtG796946ijjqocGzlyZPTo0SOaNGkSr776aowfPz4mTpwYAwYMiJRS9OjRI1566aVqf68VpjixxhprRGlpaYwYMWKB42PHjo3GjRsv0pxz586Nfv36xaabbhp//etfK8sZTZo0iVtvvTW22mqreOGFF2L06NG/eP0AAAAAAAAAkJcvvvgiSkpKokePHvON7bbbbhER8cknn/yi++JffvllHHzwwVFaWhr3339/NGrUqMr4mWeeGcOHD48777yz8okQi2KzzTaLBx98MLbeeuvo379//Oc//4mI71/jMXPmzLjuuutihx12qNx/1113jTvvvDNSStG3b99qf5+yRV7ZMqqsrCzatGkTgwcPjpRSZFlWOTZmzJgYNWpUbLLJJos054QJE2LGjBmx8cYbV5lvnrZt28Zbb70VX3zxxXyPBQEAAAAAAACApaVhw4ZRWloaDRs2nG9szpw5ERFRs2bNn31ffPr06bHvvvvG2LFj49Zbb42tt966yuc++OCDuOWWW6J58+bxyiuvxCuvvFI59vLLL0dExDXXXBONGjWKM844I1ZaaaX57vVHRJSWlsaee+4Zb775Znz00Ufxq1/9Kj7//POIiGjduvUC1xvxfXGkulaY4kRERJcuXeKiiy6Khx56KA444IDK7XfffXdERHTq1GmR5mvatGmUlJTE0KFDFzj+9ttvV+4HAAAAAAAAAMuKzTffPF544YWYNm1a1KtXr8rYe++9FxERm2yyyc+6Lz5nzpw4+OCDY/DgwfH73/8+jj322Pk+N2HChEgpxejRo6N3794LnPvGG2+MiIhjjjkmHn/88TjhhBPiySefjA4dOlTZb+LEiRERlU/DWHXVVSMiYujQobHhhhtW2Xfw4MHzrfenrDCv6oiIOO6446JBgwZx0kknxaBBgyIi4qmnnopLL7006tev/6PvXVmQsrKyaN26dbz99ttx8803x9y5cyMiYurUqXHmmWfG//3f/0WrVq2iVatWuR8LAAAAAAAAAPxchx56aJSXl8fZZ58dKaXK7R9//HHlKzm6dOmyyPfFU0rRvXv3eOKJJ2LPPfeMv/zlLwv8/jvttFOklBb454ILLoiIiJEjR0ZKKdZee+1o3759zJw5M0444YQYP3585TwjR46Mfv36xUorrRQ77rhjRERsuummERFxwQUXxKhRoyr3ff311+O0006LiIi999672j+rFeqJE82aNYv+/ftH9+7dY/vtt4+GDRvG1KlTo7S0NO66665Yc801IyJi8uTJcfXVV0fjxo3j9NNP/9E5L7/88th3333jpJNOitNPPz0aNmwY48ePj4qKiigtLY2bbrppSRwaAAAAAAAAAFTbYYcdFg8++GDccMMNMWjQoNhhhx1i7Nix8a9//StmzpwZffr0iSZNmkTEot0X/8c//hEPPvhgZFkWrVq1qixB/NC8V28sirXXXjsuu+yy6NmzZ2y88cax7777RpZl8cgjj8S0adPi3nvvrXziRJcuXaJ9+/bxyiuvxDrrrBOrrLJKzJgxI7799tuI+L600bVr12p/7xWqOBER0blz5xgyZEhcccUVMWTIkGjevHn07Nkztthii8p9Jk+eHL17946WLVv+ZHFi7733jldffTWuuOKKGDhwYEycODEaNmwYW2+9dZx77rnx61//enEfEgAAAAAAAAAskpKSkvjXv/4Vt99+e9x9993Rt2/fmDNnTrRt2zb+9Kc/xf7771+576LcF3/ppZci4vsnT1x//fUL/N7HHHPMIhcnIiLOOuusaNWqVVxzzTXxwAMPRL169aJDhw5x4YUXRtu2bSv3KysriwEDBsQ111wT9913XwwbNizKy8tj/fXXjwMOOCDOO++8KCmp/gs4VrjiRETEuuuuG3369Fno+Nprr13lUSQ/ZZtttomHH344j6UBAAAAAAAAwC9WnfvepaWlcfzxx8fxxx//k/NV9774rbfeGrfeemu117kgF154YVx44YULHNtvv/1iv/32+8k5ateuHeeee26ce+65v2gtERHVr1gAAAAAAAAAAKxgFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJSnAAAAAAAAAAACktxAgAAAAAAAAAoLMUJAAAAAAAAAKCwFCcAAAAAAAAAgMJa4YoTc+bMiauuuio23HDDqFOnTmy++ebx9NNP5zb/+PHjY5VVVok11lgjpkyZktu8AAAAAAAAAFBd06ZNi3bt2kWPHj0Wus/XX38dRx11VDRr1izKysqiUaNG0b179/jqq69+dO5FuS9+6aWXRpZlCx2vqKiIq666KjbZZJOoX79+rLrqqrHzzjvHU089tcD977vvvthiiy2iTp06Ubt27dhoo42iX79+C9z38ccfjx133DGaNGkSjRo1inbt2sUNN9wQ5eXlP7rm/7VCFSdSSnHooYfGWWedFaWlpXHyySdHrVq14je/+U0899xzuXyPk08+OSZMmBDXX399NGrUKJc5AQAAAAAAAKC6ysvLo3v37vHuu+8udJ9x48bFNttsE3fddVdEROy6667RoEGDuPfee6N9+/bx3XffLfSz1b0vfv/990evXr1+dK1/+MMf4qyzzorVV189TjjhhNhtt93irbfeir333jv69+9fZd/LLrssunbtGkOGDIl27drF1ltvHZ9++mkcfvjh8be//a3Kvg899FB06dIlpkyZEocddlh07do1JkyYEKecckqccMIJP7qm/7VCFSf+8Y9/xP333x/t27ePd999N66++uoYOHBgbLfddnHMMcfEnDlzftH8Dz30UDzwwAPxm9/8Jg488MCcVg0AAAAAAAAA1TNp0qTYa6+94rHHHvvR/c4888wYPXp0/PnPf45Ro0bFU089FcOHD49OnTrFiBEj4o477ljg56p7X/z666+PQw45JFJKC91n2LBhceONN8aJJ54YAwYMiKuvvjr69+8f7733XtSpUyfOPffcyn2HDh0a559/frRq1So++OCDGDhwYLz88svx9NNPR0lJSZx//vmVT5JIKcVpp50Wbdu2jXfeeSf++te/Rp8+feLTTz+NTTfdNO64444YMWLEj/58fmiFKk7ceOONEfH9f0G1atWKiIjS0tI477zzYtSoUfH888//7LknTpwYJ510UtSrVy9uuummXNYLAAAAAAAAAIti6623joEDB8b111+/0H0mT54cDz/8cBx44IFx/vnnR1lZWURE1KpVK/74xz9GRMTgwYPn+1x174v37t07Tj311Dj88MNj++23X+h+gwcPjpRS7L333lW2r7feerHxxhvH559/HrNmzYqIiLvvvjsqKiri4Ycfjg033LBy39122y222GKLmDhxYnz22WcRETF27NgYPXp07LbbblGjRo3KfWvXrh277LJLpJRi2LBhC13X/1phihMzZsyIt956K9ZZZ53YbLPNqozttNNOUbNmzXj22Wd/9vy/+93vYty4cXHxxRdHixYtfuFqAQAAAAAAAGDRNW7cON58883YZ599FrrPSiutFJMnT4677757vrG5c+dGRFQpHMxT3fvi48aNi9tvvz3uuOOOBc4zT/369SMi4j//+U+V7dOmTYvhw4fHmmuuWflQhEsuuSSmTJkSbdq0+ck1161bN7Ism2/eiIghQ4ZERMQ666yz0HX9r7Jq77mMGz9+fJSXl0e7du3mG6tZs2a0aNEihg8f/rPmfvzxx+Of//xnNGrUKL777rs47bTTolmzZtG9e/dYc801f+nSAQAAAAAAAKBaBg0aFKWlpZVPX1iY0tLSqFOnznzbH3/88YiI2HHHHefbXt374tdee22Ulpb+5Fp32mmnWH311ePSSy+NDTbYIHbZZZcYO3ZsnH766TF58uQ4/fTTq+w/r2jxQ1988UW899570aJFi2jevHlERDRs2DD23nvveOKJJ+Lyyy+PY445JioqKuKWW26JZ599Njp16hStWrX6yfXNs8IUJ6ZOnRoREautttoCxxs3bhxffPHFIs87a9asOPXUUyMiYsqUKXH++edXjl188cVx++23/+h7XQAAAAAAAAAgL9UpLCzMiBEjol+/frHaaqtFt27dKrcv6n3x6q6hfv368dxzz8Wee+4Z++23X+X2srKyuPzyy+Oss876yTkuuuiiSCnFqaeeGlmWVW7v27dvHHjggXH22WfH2WefXbm9W7du0adPn2qtb54V5lUd8/6LqVu37gLHa9WqFdOnT1/keW+//fYYOXJkZFkWF110UQwbNiyGDh0al19+ecyZMycOPfTQeP/993/R2gEAAAAAAABgcUopxTHHHBOzZs2KK6+8ssrTKBbnffE777wzRo8eHRERa665ZtSrVy/mzp0b//jHP+Ltt9/+0c8+//zzcfvtt8eGG24Yv/vd76qMDRgwIAYNGhQREU2bNo2VV145IiJeeOGFeOSRRxZpjStMcWLeIztmzZq1wPHZs2fH7NmzF3nehx56KCIi/vCHP8R5550X6623Xqy//vrRs2fPuOSSS2L27Nlx5513/vyFAwAAAAAAAMBi1rt373jhhRdi3333jcMPP7zK2OK6L37vvffGtddeGx07doxRo0bFl19+Gd98803ccMMN8eGHH8Zuu+0WU6ZMWeBnx40bF4cddliUlZVFv379ombNmpVjI0eOjB49ekSTJk3i1VdfjfHjx8fEiRNjwIABkVKKHj16xEsvvVTtda4wxYk11lgjSktLY8SIEQscHzt2bDRu3HiR5533eo+jjjpqvrHddtstIiI++eSTRZ4XAAAAAAAAAJaEZ555Ji644IJYe+21F1iAWFz3xe+6664oKSmJ+++/P1q0aBERETVr1ozf/e53cdppp8WkSZPisccem+9zc+fOjYMPPji++uqruPLKK2OrrbaqMn7vvffGzJkz47rrrosddtihcvuuu+4ad955Z6SUom/fvtVe5wpTnCgrK4s2bdrE4MGDI6VUZWzMmDExatSoWH311Rd53oYNG0ZExHrrrTff2Jw5cyIiqjRbAAAAAAAAAGBZ8cknn0S3bt2idu3a8cgjjyzwgQOL6774559/Hquuumo0bdp0vrG2bdtGxH9LGz90yimnxIsvvhiHHHJI/OEPf1jgvBERrVu3XqR5F2aFKU5ERHTp0iXGjh1b+RiRee6+++6IiOjUqdMiz7n55ptHRMSoUaPmG3vvvfciImKTTTZZ5HkBAAAAAAAAYHH66quvYs8994zJkyfH3XffHZttttkC91tc98VXXXXVGD9+/AJfxzF48OCIiPlKFZdddlncfPPNsdVWW8Xtt9++0HkjIoYOHVrteX/MClWcOO6446JBgwZx0kknxaBBgyIi4qmnnopLL7006tevHwceeOAiz3nIIYdERMQ555xT2aSJiPj666/joosuipKSkujevXs+BwAAAAAAAAAAOZgwYULsvPPOMXLkyLjkkkvigAMOWOi+i+u++Kabbhrl5eVx2mmnxdSpUyMiory8PO655564+eabo6ysrPJVIBERN9xwQ5xzzjnRokWLeOyxx6J27doLnTci4oILLqhS9nj99dfjtNNOi4iIvffeu9rrLFvkI1uGNWvWLPr37x/du3eP7bffPho2bBhTp06N0tLSuOuuu2LNNdeMiIjJkyfH1VdfHY0bN47TTz/9R+fcaaed4sQTT4ybb745Ntlkk+jUqVN8++238dhjj8XkyZPjnHPOiY022mhJHB4AAAAAAAAAVMvZZ58dn3zySTRp0iSmT58evXr1qjL+w/vli+u++Jlnnhn3339/3HXXXdG/f/9o0qRJfPPNNzF79uyIiDj//POjZcuWERHx2WefVa5niy22iBtvvHG++X7729/G5ptvHl26dIn27dvHK6+8Euuss06sssoqMWPGjPj2228rj6dr167VXucKVZyIiOjcuXMMGTIkrrjiihgyZEg0b948evbsGVtssUXlPpMnT47evXtHy5Ytf7I4ERHxt7/9LTp06BC33npr3H///TFt2rRYf/3144orrohjjz12cR4OAAAAAAAAACyyl156KSIiJk6cGL17955v/H/vly+O++ItWrSIt99+O3r37h1PP/10fPXVV1FWVhabbLJJHH/88XHMMcdU7vvaa69VPu3ikUceiUceeWS++dZff/3YfPPNo6ysLAYMGBDXXHNN3HfffTFs2LAoLy+P9ddfPw444IA477zzoqSk+i/gWOGKExER6667bvTp02eh42uvvXaklBZpzoMPPjgOPvjgX7o0AAAAAAAAAPjFfuq+96effrrIc/6c++Ivvvjij46vtdZacfPNN//kPN27d1+k14HUrl07zj333Dj33HOr/ZmFqX7FAgAAAAAAAABgBaM4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAAhaU4AQAAAAAAAAAUluIEAAAAAAAAAFBYihMAAAAAAAAAQGEpTgAAAAAAAAAA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zyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMITgAAAAAAAAAAAAAAAM8iOAEAAAAAAAAAAAAAADyL4AQAAAAAAAAAAAAAAPAsghMAAAAAAAAAAAAAAMCzCE4AAAAAAAAAAAAAAADPIjgBAAAAAAAAAAAAAAA8i+AEAAAAAAAAAAAAAADwLIITAAAAAAAAAAAAAADAswhOAAAAAAAAAAAAAAAAzyI4AQAAAAAAAAAAAAAAPIvgBAAAAAAAAAAAAAAA8CyCEwAAAAAAAAAAAAAAwLMyXHDi3LlzNmrUKLvuuussc+bMVq5cOZszZ87favPo0aPWo0cPK1SokAUHB1tERITVrVvXNm7cmEZ7DQAAAAAAAAAAAADA5Tt06JBFR0dbmzZtApbv27fP2rVrZ/nz57fg4GDLli2bNWvWzPbu3ZtqO5988olVqFDBIiIiLCYmxsaMGfOXP/v06dN2/fXXW3h4uG3bti3VbdasWWP333+/RUVFWc6cOa1z5852/PjxFNslJibauHHjrFKlShYeHm45c+a0Ro0a2dq1a//6H+FvylDBCUnWokUL69Wrl/l8PnvssccsLCzM6tata998880VtRkfH29Vq1a1F154wU6cOGHVq1e3vHnz2hdffGEVK1a03bt3p/FRAAAAAAAAAAAAAABwabp06WIHDx4MWHbw4EGrUKGCTZw40czMatasaZGRkTZ9+nS766677MSJEwHbv/7669agQQPbsmWLtW3b1m699Vbr2bOn9e/f/6I/+7nnnrONGzfagAEDrHDhwinW//zzz1apUiWbM2eO1a5d2xo1amSTJ0+2evXqmSR3u6SkJHvggQesS5cuFh8fb127drX77rvPZs+ebbfddpvNnTv3Sv95LkmGCk5MmzbNZsyYYXfddZetXLnSRo8ebT/++KNVrFjROnToYOfOnbvsNkeMGGG//vqrderUyXbt2mVff/21bdq0yVq1amVHjhy5pJQNAAAAAAAAAAAAAABpbfr06fbRRx+lWP7UU0/Zrl27bODAgbZjxw776quvbMuWLVa9enXbunWrvfPOO+62W7dute7du1vu3Lntl19+sbFjx9pHH31kTz/9tA0bNszWrVuX6s/++eef7YUXXrCyZctat27dUqxPSEiwNm3a2MmTJ2327Nk2efJkGzdunM2aNcsWLFhgb731lrvtm2++aZ999pk1b97cfvnlFxs5cqRNnTrVFi5caImJida8eXM7depUGvyLpS5DBSdeffVVMzN75ZVXLCwszMzMfD6f9evXz3bs2GHz58+/rPYSExNt0qRJdtttt9m4ceMsc+bMZmYWFBRkvXv3NjOz5cuXp+ERAAAAAAAAAAAAAADw1/bv329du3a1mJiYgOVxcXE2a9Yse/jhh+25556z4OBgMzMLCwuz7t27m1ngOPdbb71lZ86csT59+gS01atXLwsNDbUpU6ak+Nlnzpyxtm3bmiR788033Z+R3LfffmsbNmywevXqWZ06ddzl99xzj1WsWNGthmFm9vbbb1tQUJCNHj3agoL+P8ZQsWJFq127th06dMgWL158uf9ElyzDBCfi4+Nt2bJlVrhwYStbtmzAuqpVq1poaKjNmzfvstr0+Xy2ffv2VAMXCQkJZmYWEhJyxfsMAAAAAAAAAAAAAMCV6Nixo8XFxdm7774bsDx79uypLjdLfZz7+++/NzOzBx98MGDbHDly2K233prqOPuAAQNs/fr11rVrV7v11ltT3b8/a9fMrFatWrZ06VI7duyYmZmtW7fOChQoYHnz5k2xba5cuczMLDY2NtWfkxYyTHAiNjbWEhMT7eabb06xLjQ01AoWLGhbtmy57HYdx7Hw8PAUyz/7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AAAAAAAAAAAA4FkEJwAAAAAAAAAAAAAAgGcRnAAAAAAAAAAAAAAAAJ5FcAIAAAAAAAAAAAAAAHgWwQkAAAAAAAAAAAAAAOBZBCcAAAAAAAAAAAAAAIBnEZwAAAAAAAAAAAAAAACeRXACAAAAAAAAAAAAAAB4FsEJAAAAAAAAAAAAAADgWQQnAAAAAAAAAAAAAACAZxGcAAAAAAAAAAAAAAAAnkVwAgAAAAAAAAAAAAAAeBbBCQAAAAAAAAAAAAAA4FkEJwAAAAAAAAAAAAAAgGcRnAAAAAAAAAAAAAAAAJ5FcAIAAAAAAAAAAAAAAHgWwQkAAAAAAAAAAAAAAOBZBCcAAAAAAAAAAAAAAIBnEZwAAAAAAAAAAAAAAACeRXACAAAAAAAAAAAAAAB4FsEJAAAAAAAAAAAAAADgWQQnAAAAAAAAAAAAAACAZxGcAAAAAAAAAAAAAAAAnkVwAgAAAAAAAAAAAAAAeBbBCQAAAAAAAAAAAAAA4FkEJwAAAAAAAAAAAAAAgGcRnAAAAAAAAAAAAAAAAJ5FcAIAAAAAAAAAAAAAAHgWwQkAAAAAAAAAAAAAAOBZBCcAAAAAAAAAAAAAAIBnEZwAAAAAAAAAAAAAAACeRXACAAAAAAAAAAAAAAB4FsEJAAAAAAAAAAAAAADgWQQnAAAAAAAAAAAAAACAZxGcAAAAAAAAAAAAAAAAnkVwAgAAAAAAAAAAAAAAeBbBCQAAAAAAAAAAAAAA4FkEJwAAAAAAAAAAAAAAgGcRnAAAAAAAAAAAAAAAAJ5FcAIAAAAAAAAAAAAAAHgWwQkAAAAAAAAAAAAAAOBZBCcAAAAAAAAAAAAAAIBnEZwAAAAAAAAAAAAAAACeRXACAAAAAAAAAAAAAAB4FsEJAAAAAAAAAAAAAADgWQQnAAAAAAAAAAAAAACAZxGcAAAAAAAAAAAAAAAAnkVwAgAAAAAAAAAAAAAAeBbBCQAAAAAAAAAAAAAA4FkEJwAAAAAAAAAAAAAAgGcRnAAAAAAAAAAAAAAAAJ5FcAIAAAAAAAAAAAAAAHgWwQkAAAAAAAAAAAAAAOBZBCcAAAAAAAAAAAAAAIBnEZwAAAAAAAAAAAAAAACeRXACAAAAAAAAAAAAAAB4FsEJAAAAAAAAAAAAAADgWQQnAAAAAAAAAAAAAACAZxGcAAAAAAAAAAAAAAAAnkVwAgAA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0aJFwFvatWvX1q233irp/P38F198oeuvv16O4+iHH37gXIU/RZ9CWqNPIS0kJiZqwoQJKlq0qEaOHOlWgjt9+rS++OILlStXTjly5HCnapQY6MbF0aeA/0dwApds1apVatiwoVvONzExUfHx8erQoYMcx9GXX34ZcBO3efNm3XPPPYqKitJjjz2msLAw1a1bV6tXr06vQ8C/3MGDBzVw4EA5jqNnnnlGzZo1cwe+77rrLne7ChUquKEKKk/AL3loomHDhgoPD1fnzp01dOhQRURE6N5779X69evd7QhP4FLs3btXr732mp566ilt27bNDU08++yzks73u7x586pevXruZxo1aqTcuXNr7969mjRpkoKCgtSxY8eAaa3oU961b98+xcXFSfr/6RQkady4ce41L1++fMqcObPy5csnx3EUERGhrFmz6pZbbtEHH3ygMWPG6OGHH9b69evT6zDwL/brr7/q4YcfVpYsWfT888+7y2fMmKGpU6eqWrVqioyM1NSpU7V48WJVq1ZN5cqV05YtW9Jxr/Fvc+LECZUrV06FChXSoEGD5PP53Gvfnj17FB4errCwMIWGhuqjjz6SdL5CRfny5RUZGakRI0bojz/+SM9DwL/I5s2bNWHCBC1btixgedeuXd3pOfbv3y8p8J7eH9ipXr26du/e/Y/uM/47kt9X+wOBlSpV0htvvKEZM2bop59+UpMmTVSmTBk1b95cN954oxzHUY0aNfTAAw8Q9EIK9CmkNfoU0oK/0rf/XikuLk4//vij2z9Onz6tL7/8Unnz5tUNN9ygzJkz65prrtGkSZPcNhjoRnL0KSB1BCdwSRISEvT222/LcRw1bNgwYN3KlSuVOXNm9e3b1122adMm1axZUzly5NDcuXOVmJiol156ST6fT02aNNGmTZv+6UPAv9DevXu1bt067dq1S8ePH1ffvn3lOI769OnjrnccRw8//LD7maZNmypPnjwaM2aMcufOrXvvvZfKE0g1NPHEE0/o+PHjOn36tF555RWFh4erfv36+vnnn93BymXLlhGewEVt3LhR1157rRzH0fTp09W+fXv3erd//36VL19eFSpUcLf3hya2b98uSRo+fLg7GN6kSZOALxCnTp36Zw8G6W7nzp2699571aNHDx08eNBdnpiYqB9//FFBQUF65513tHz5ck2dOlUTJkxQSEiI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6KGHFB0drePHj0uS3n//fXdQ8ocffgjY9q/u75Ex0KeQ1uhTuBqS3+csXLhQNWrUULZs2TR8+HD33ii150yXM9ANb6FPAVeO4IRH7dy5U08++aTCwsJ07733asmSJe66hx56SJkzZ9bmzZuVlJSkdevWqWXLlnrzzTcv2mbyBx6PPfaYHMdRxYoVeXDmYf4+cebMGf3444+KiopSlixZVLRoUX3wwQcptvNLfmFPHp4YMmSI3njjDbVs2fJPP4uMZf/+/apdu7Z8Pp/atm2rNWvW6IknnlD27NnVuHFjTZs2TbVr11aJEiUUEhIix3F0/fXX69y5czp8+LA7b/eFDh06pIiICPeN3b8qd46MZd++fZo9e7a2b98u6fyc7bNnz1a+fPlUrVo1nTt3TrNmzVJMTIyioqLctyT/6qHF3r17VaNGDTfsJXGOyqguPGesWbNGXbt2DahkI0kvvfSSoqKilD9/fq1atUrS+fCEv5/079/f3fa3337TqVOnlJCQENBvateuLcdx9NRTT3Gu8oA/C00kJSW556BWrVopKChIP//8c8BnLxxU9P/9nXfekeM4mjRpUqrbwRuOHDmijz/+WDt37pR0PvA3cOBA3XjjjW5oon///po1a5bOnTunHj16pAhPXBhMPXXqlGbNmqWbbrpJwcHBuu222wjLZ3DLli3TrFmztH37djeIdfLkSbVs2VJZs2bVrFmzdPLkSR0/flxjx45VSEiIbr75ZoWFhal27dr6/fffU203+fXt7bffVq5cueQ4TqoDTsjYZs+eLcdxNGDAAG3fvl2LFi3SggUL9P777+urr77Sd999p5UrV6aYOtZ/bRs6dKjq1q2rRYsWucv8g5J33323O5c3vIM+hbRGn0JaS/6sacGCBbr77rsVGRmpWbNmSZJ++OEH5cqVS7ly5dLrr7/ubvtXA90X9kF4B30K+HsITnhM8gelBw4cUL9+/eTz+VS7dm2tXLlSknT99derQYMGks7Px3b//fe7iVl/uelLab958+YKCQlxB6aQsfl/90eOHNHevXvd5fHx8fr000+VL18+1axZU19++aWuv/56FSlSJKA/XWxwcePGjWrVqpVCQkL01FNP6cCBA3/5GWQc+/fvV/369eU4jooUKaLIyEiNHj3aPTdlzpxZlSpV0oMPPqhnn31WH3zwgWJjY9W7d2/dddddAfMn+/3xxx/Kli2batWqlQ5HhH/aggULNGfOHEnny9YPHTpUhQoVcisjzZs3T1FRUbrjjjvcQYCkpCRNnTpVhQoVuqzwxKZNm1SnTp0/De3gv2/nzp3q1auXpk6dGrB8zZo16tatmxzHUZ8+fdzlI0eOVLZs2XTnnXe6/Wjr1q1q0aKFXnzxRR07dizVgezkU8TUq1dPM2bMuEpHhH+L5KGJ5KGIC+ccHTx4sBzHcc9rF3P69Gm1bdtWFSpUcO/1CU54w48//qjBgwfr4MGD2r9/v/r37698+fJpzpw5SkhI0JQpU5Q7d261bdtW0vlQV548eZQtWzYtWLBA8fHxqVaeSE1cXJyWLVumQ4cO/ROHhnRy9OhR9548ODhY9erV09GjR9WqVSs5jqObbrpJO3bskCSNGjVKQUFBevLJJ3Xu3Dk999xzCgsLU82aNbVx40b3vOb/XicFBnNGjhypzJkzcz/lIf5rU2Jioq6//npVrlw5xfUqISFBzz//vEaNGuVO5XnhlHp/FjL1D0recccdl1yxCf9t9CmkNfoU0tqFz5fmz5+vKlWqKEuWLO4At//Z948//qjcuXNf0kB3ly5d5DiOatas6U7VCG+gTwFpg+CER/lv2v744w/179/fDU8899xzCg8P17Rp07Rt2zZVrVrVPXnWrl1bISEh+vDDDy/atv+kmpCQEDCAjoxp79697kOu/fv3a+TIkeratatWr16ts2fPasaMGcqfP78qV66s06dPSzo/MFCiRAkVLVpUU6ZMcdu6WBBiw4YNuu+++5QjRw76VQZ29uxZ7dixQ2vWrNGqVavctxa//fZbFSxY0E24StK0adM0f/589wGt3/HjxzVw4EA5jqNOnTql+nO+/PJL94ZPIoSTUSUlJenHH3+U4zjq0qWLjh49qgEDBshxHF133XUKCQlRx44d1axZMz344IPug409e/a4bUyfPt0tQ36p4QmqAmRsCxcuVHBwsHLnzq1vv/1WkvT9999rzJgx+uabb1INT/Tp00fh4eFq06aN4uPj3eWnTp0KaPu7774LuMb5+xrnqIwveWhi6dKlAevOnTunhIQE7du3T5s3b3avcTVr1tT48eM1cOBA9enTR3379tWIESM0ePBgnThxwv38/v37dejQIfqRh5w5c0YjR46U4ziqVKmSWrZsqaioKHXt2tXdZt26dapRo4by5cvnhkw/+ugjOY6jW265RevWrdPx48fVs2dPOY7jzsV9sUpxyPgWL16s8ePHq27dunruuedUt25dhYeH64477lBISIjuu+8+9/nCo48+6n5u/vz5iomJkeM4Wr16tSRp27ZtKlOmjB5//HF3u+T9iyBOxrdhwwb98ssvAcuSkpL0wAMPKHfu3CnuqY8cOeJW4urXr597rbvwAf+F7flNmTLlL59n4b+NPoW0Rp/C1XLq1Cm9+OKLeuWVVySdv8cqWbKkMmfOrJkzZ0r6/ymwL3ege8+ePWrevLkcx1GdOnV4RuUR9Ckg7RCc8KC5c+eqSZMm7gOy2NhYDRw4UMHBwYqIiNA111yjb7/9VnXr1lVUVJT7dlr//v3lOI5CQ0NTvGUJ70lISNBHH32km2++WUeOHNGRI0fcNyAdx1Hr1q31xRdfKDw8XLfeeqv7ZcE/CPTVV19ddnhi5cqVbnlhZExxcXEqVaqUgoKCFBYWpmzZsmn06NHq3bu3QkJClDlzZoWFhemRRx5x+4o/kCOdD/IMHTpU2bNn12OPPeYuv7C09DfffKObb745oKQ+MqZt27apVq1aypMnj5544gkFBQW5JcnvvvtuxcTEqEOHDtqwYYOk8w8qatWqpenTp7ttfPjhh5c9bQcytrffflvR0dG66aabNHbsWJUuXVqFChXSH3/8oZ07d7rhiWeeecb9TJMmTRQSEqJu3brp3nvv1csvv+yuO3nypD7//HNlyZJFTz/9tCQGI71k7ty58vl8KUITEyZMUO/evXXffffp9ttvV0xMjKKjo5U1a9ZU51JO/ufTTz9120l+DeTc5R2nT5/W5MmTFRYWJsdx9Pjjj+vZZ591p1/cunWrNmzYoHvuuUd58uRxq5xMnz5djuPooYce0rFjx9zvirxZ5G0XXpMOHz6sqlWrKlu2bJoxY4aSkpLUvHlzBQUFKSgoSG3atHG3XbNmjZo1a6bQ0FC3/PjOnTvdUHT37t0D2ifk5Q2//vqrChcu7Fa9kf7/GjVmzBg5jpPq1D/79u1T2bJlFRYWFhAUvFi/4Z7KG+hTSGv0KVwtZ86cUffu3eU4jvLly6e33npL06dPV/78+QOekR8/fjzFZxctWnRJUyxs3bpVDz74oBtYRcZGnwLSFsEJD3rrrbfkOI6mTZvmLjt16pQeffRRhYaG6pFHHlHDhg2VPXt2d27lmTNnynEcPfroo6pRo8YlVZ5AxnbkyBF3PvdBgwbp+eefd/9//PjxCgoK0qBBgzR8+HAdPnxY0vm3Kb/77jv3Af6lVp7gC4R37N69WyNGjFDPnj3Vs2dP1apVSzfddJOyZcsmx3FUvXp11alTR47j6MEHHwz47IEDBzR06FBFRUXpiSeecJcnf7s7ebnD1G4WkTFNnz7dHWgcPHiwpPMVAqKjo5UtWzaFhoaqS5cu2rlzp9577z13kKl27dpav36928blTtuBjCf59WnixInKmTOnwsPDde2117rXOknasWOHG57o1auXu7xChQoKCgrSLbfcogIFCrhvAkjnQz733HOPQkJCtHnz5n/mgJDuFi1apKCgIF1//fUBFZT27dunihUrukGImJgYlSxZUjVq1FDDhg3lOI6KFSumESNGaPjw4XrllVf00ksvacSIEercubO2bdsm6fy17vXXX9cHH3yQTkeI9HLo0CG99tprypIli1577TWdPHlSt99+u9q0aaMXXnjBnb5l27Ztql69ekB44uWXX5bjOG7A68iRI1q1apW+/vprvfXWWxo0aNAlTRWDjCkuLk4tW7ZUZGSkJk+e7A4IvfjiiwoKCnKDN3/88Yd27dqlhx9+WD6fT1988YWk86GJAgUKuKGJC6cjgjesXr1aRYoUUXBwsBYvXhyw7t1335XjOO49t5//7cZjx46pfPnyCgkJ0aBBgy5pUBIZH30KaY0+havhzJkz+t///qeQkBA1a9ZMWbJkUdGiRTVq1Cj3O1xiYqLi4+PVu3dvTZkyRcuXLw9oI3mVgNdee81d7u9f/v9e+BIZMib6FJD2CE54kD8E4X/YlZCQoKSkJD3xxBPKli2bQkJCAh6czZgxQ47j6IUXXpB0vjy+v/LE5MmT0+04kP42btyo22+/XTlz5nRDE9L5ahKO4ygoKEgdOnTQ9u3btWnTJpUoUUJZs2bVQw895F64582bd9mVJ+ANO3fuVJs2bRQREaEvv/xS1atXV/v27bVv3z5Vq1bNLX24efNm7d+/X4MHD1bOnDkDKk0k99JLL+mdd975h48C6e2PP/5wy5W//fbbks6HtnLnzu1O+9K+fXtlzZpVXbp00enTp7VmzRr17dtXBQoU0IoVK9y2pk+frqJFiyoqKkq///67JB7ye9mGDRtUqFAhBQcH66abbtKPP/7orjt48KCGDh2qp59+OiA8MXXqVEVGRqpmzZqqVKmS8uTJExCeaNu2rRzH0VdfffWPHw/Sx4oVK9xg1/vvvy/p/88r48aN07Rp07R06VLFx8e7D2IPHTqkiIgINWrUKNU2/ZWYjh8/7obB7r///n/gaPBvsW/fPo0YMUK5c+fWI4884i4fNmyYHMdRcHCw2rZtq9jYWEnS9u3bVa1aNUVHR7vB+ebNmysyMlI7d+7Uiy++mKKqSeXKlXX06NF0OT6kn4SEBLVp00aO46hnz56SzoeUn3/+efl8PnXt2tWdA7lq1aq6//775fP53Co4yStN9O7d2/3ORxjVm/wv9fjvhfxTyk6YMEGO42j58uWaPHmyxo4d637Gfy08fvw4g5JIgT6FtEafQlqKj49Xz5495fP5NGrUKMXHx2vWrFkKDQ1V0aJFNWPGDHdb/xR6/nv3u+++W8uWLUt1ioVXX301vQ4J6Yw+BVwdBCc8aPLkyXIcR0uWLHGXHTlyRKVKlZLjOCpcuLA7f5s/NDFq1ChJ598Gz5kzp2rWrKnKlSsrODhYU6dO5abPo+Lj49W+ffuAN9K+/vpr5c6dW1WrVnWrUDz22GP69ddf9fPPP7vVApI/bJ07d65KlCihYsWKBYQn4C3JB6BXrFihJk2aKCIiwp0aqGjRomratKmk8+eitm3bKn/+/CpUqJCGDBmivHnzqk+fPgFt7tmzR1OmTNE999zjvp37xx9//HMHhXS3YsUKlStXTsHBwVq5cqWWLVum3Llzq3Llyu7gYseOHeU4jjJlyqRHH31UBw8elPT/FUr8D/MTEhI0bdo0+Xw+VahQgaolHpWUlKSFCxfqxhtvVLFixfTiiy8qb968Kl++vL755hudO3dODzzwgAoWLKhPP/1Ubdq0Ufbs2fXDDz8oNjZWhQsXVosWLfTzzz+rQoUKioqK0rBhwzR27Fjlzp1bUVFR2rVrV3ofJv5B69ev17XXXivHcQJCyRcOJPrvt8+cOaPIyEi38pJ/jlL/fKXS+elfJk+erGzZsqlBgwb/0JHg3+KLL76Q4zjq2rWrevTooUqVKmnPnj2aNGmSgoOD1bp1a/Xp00cHDhxwP7Nnzx5VrVpVBQsW1E8//aSvvvpKwcHBGj16tJYuXaqXX35ZM2bM0CeffKIFCxYwfZ6HjR8/Xo7jqFy5cpo1a5ZeffVVBQUFqXPnzu429evXd6fteO+99ySdL+/rrzTRq1cvQhMe5r9W7d+/XyVKlNANN9wQULnL38c+++wzN6gzYsQIdz2DkrgQfQppjT6FtHb27Fn17dtXjuPoySef1MmTJ911H3/8sUJDQ1WyZMmA74MfffSRXn31VV133XXKly+f1q5dG9Dm4sWLFR0drbx582rixIn/1KHgX4I+BVw9BCc8xH/T57+5879NdO7cOfXs2VOO46h48eJ/GprYvn27cubMqWbNmkk6X+bcX87c/xYvvOPMmTN64YUX5DiOHn74YUnS/PnzlTt3blWpUsXtb2XLllVQUJAeeeQRHTp0SGfPntUHH3zgVjTxmzt3rooUKaLChQvr22+//cePB/8eP/30k+69914FBwe7pcWPHj2q8PBwPfnkk+52p0+fdge8s2bNqoiICH300Uf64IMPNHToULVt29YdiIqKilL16tW1cOHC9DospKPx48erRIkSypMnj7JmzapatWq55eXatGmjsLAwTZs2TZ06dVKmTJnUuXNn7d69W9L/P9Dwv1kiSUWKFNFdd93Fww4Pmzhxom6//XZt377d/Xt0dLTKli2ru+66S1mzZtXnn38uSdqyZYvef/99bd26VZLUokUL+Xw+xcfH68cff1SFChXc1H/27NmZL9Kj1q9f7w4oJg+RXljVJiEhQcePH1e2bNnc4MSF56KTJ0/qvffeU9asWQNCE5yzvMVfXfDrr79W27Zt3RBpt27d9Nhjjyk0NFR79uzRzJkz9cknn0iSNm/erOuuu04VK1aUJBUqVIhqJUjV1KlT5TiOcufOrbCwMHXr1s1dt23bNjVq1MidtqNly5ZaunSpYmJiqDSBFDp06CDHcdS0aVM3tOx/PrV161YtX75cd911l6KjozVp0iT3c/578+SDkgMGDHCDzVzzvIs+hbRGn0JaiI2NVadOndyph1etWuWuS0hI0KOPPirHcXTDDTdo+vTpAZ/dv3+/fv31V0n///3Q37/8lcF79OjxDx0J/i0OHTpEnwKuEoITHpOQkOBWCPCfHLds2aJbbrlF0dHRbsrs/fffTzU00aRJE7etihUrqkiRIqpWrZrWrVv3zx8M0t2aNWsUEhKi6667Tr169VKePHl09913u8nqdu3aKUuWLO5c3O3atXMHmaTzXxISExPdAcz33ntPjuNo3Lhx6XI8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",
      "text/plain": [
       "<Figure size 2500x1000 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用missingno库进行可视化展示\n",
    "missingno.bar(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a019d440",
   "metadata": {},
   "outputs": [],
   "source": [
    "#缺失值处理-样条插值法\n",
    "import pandas as pd\n",
    "from scipy.interpolate import UnivariateSpline\n",
    "\n",
    "# 定义一个函数来处理缺失值\n",
    "def spline_interpolation(df, column):\n",
    "    # 找到列中的缺失值\n",
    "    mask = df[column].isnull()\n",
    "    # 非缺失值\n",
    "    x = df[column].notnull()\n",
    "    # 使用样条插值法进行插值\n",
    "    f = UnivariateSpline(df[column][x].index, df[column][x], s=0)\n",
    "    # 将插值结果填充到缺失值位置\n",
    "    df.loc[mask, column] = f(df[column][mask].index)\n",
    "\n",
    "# 列名列表\n",
    "columns_to_interpolate = [\"最低交易价格\", \"平均交易价格\", \"最高交易价格\"]\n",
    "\n",
    "# 对每个列进行插值处理\n",
    "for column in columns_to_interpolate:\n",
    "    spline_interpolation(df, column)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "955cb4f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "农产品市场所在省份    0\n",
       "市场名称映射值      0\n",
       "农产品类别        0\n",
       "农产品名称映射值     0\n",
       "规格           0\n",
       "区域           0\n",
       "颜色           0\n",
       "单位           0\n",
       "最低交易价格       0\n",
       "平均交易价格       0\n",
       "最高交易价格       0\n",
       "数据入库时间       0\n",
       "数据发布时间       0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#检查是否有缺失值\n",
    "df.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c05fdef",
   "metadata": {},
   "source": [
    "#### 重复值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "f888e130",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "151115"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看重复值\n",
    "df.duplicated().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2e30cfb4",
   "metadata": {},
   "outputs": [],
   "source": [
    "#删除重复值\n",
    "df.drop_duplicates(keep='first', inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "2a87234e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#检查是否删除成功\n",
    "df.duplicated().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "e12245c0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=1951933, step=1)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#索引重置\n",
    "df.index = range(df.shape[0])\n",
    "df.index"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d189cd23",
   "metadata": {},
   "source": [
    "#####  异常值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "e3766bcf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABrrElEQVR4nO3deXhTdfr//1eadKFCCwUEBAqIoLKpYAFxhKrgjAiKjiNSHMRRBx1BFCyKiLuAyrAojoiigAKuuKEgjliHDwpSZbGCuCKLiIAlbWmb0vb9+8Mf+TY0KWmT5iTN83Fd55Jz7iS9g8qLc+fkfWzGGCMAAAAAAAAAAFBJjNUNAAAAAAAAAAAQrhiiAwAAAAAAAADgA0N0AAAAAAAAAAB8YIgOAAAAAAAAAIAPDNEBAAAAAAAAAPCBIToAAAAAAAAAAD4wRAcAAAAAAAAAwAeG6AAAAAAAAAAA+OCwugGgLtu6datatmyp5OTkoLze9OnT9fbbbysrK0t2u92v56xevVolJSXHfVznzp3VunVrr7XCwkLVq1dPNpvN43hZWZlffezevVtbtmzRwIEDPY7v2LFDbdu2Pe7z/ZGXl6c33nhDl156qRo3buxR++GHH7Rjxw717dtXsbGxQfl5AIDokZubK7vdrqSkpGo/l+z2jewGAARbQUGBnnjiCfXq1UsXXnhhjV6D7PaN7EZUMwC8euCBB0y/fv2Ou61fv97nawwYMMBcdNFFPus///yzee6558xzzz3nV0/Tp083ksyyZcv8fh8nnXSS6dChgzn33HN9bvHx8ebZZ5/1+Rr33HOP6dChgyksLHQfKywsNG3atDEvvfTScXt47bXXTPPmzT2OlZaWmubNm5upU6f6/V6qMn78eBMTE2Peeecdk5+fb5xOp/n999+NMcZcfPHFpmXLlubgwYM+n19eXm7OPfdc8/zzz3scf/HFF02nTp3Mtm3bTGFhofntt9+8Pt9msxlJ1dqefPLJoLx3AIAx33zzjdmyZYvZtm1bldvXX39tsrOzzeHDhyu9xldffWUkmbVr13ocnzZtmklOTjaHDh2qdl9kt29kNwCgpufdpaWlprCw0JSXl3scLy8vNyeddJK58sorK/2s8vJyU1hYaEpLS6vsiez2jexGNONKdMCHH3/8UR07dtSDDz7o8zEtWrRQUVGR19rhw4e1Zs0aLV26VF9++aVefvllFRQU6LffftPu3bv1ww8/6MCBA2rRooW6du2qjIwM1atXT5JUWlqqmJgYxcR4rrh03XXXacmSJSooKPD6M10ul+Lj4z2OxcXF6e6779bIkSN9vo+2bdtWel5Fb7/9tv70pz+5+5OkhQsX6ueff9b777+v4cOH+3yuJCUkJFR6/ddff12//fabkpKS9NJLL7mPt2nTRuedd16Vr3es5cuXa+bMmTrhhBN06aWXKjExUWVlZerWrZsmT56sFStWKDExUZ06dZIklZeXKzk5Wd999537NVatWqUNGzZozpw5Hq9dv359bd26VS1atNDEiROVlZWltWvX6oQTTvB4nMPh0CuvvKKLL77Yfezf//63rrjiCrVr165Sz507d67y9xwAUD3jxo3TmjVrFBcX5z5WUlKi/Px8jyulysrKVFRUpPXr1+uMM87weI2jOZeYmOhxfPXq1brmmmuq/GYZ2U12AwCqr6bn3WvWrNH555/v8zmvv/56pSu6j9qwYYPOPvtsspvsBqrH6ik+EK6uv/56k5CQYBo3buxzk2TWrFnj9fnPPfecSUpKMi6Xy7z66qsmJSXFPPbYY+bZZ581jzzyiKlXr57Xq+CMMeaFF14wMTExJikpySQnJ/u12e12069fv0qv1b59e78+nX3xxRe99rJmzRojyXz11VfuYwUFBaZFixZmzJgxpmXLlj6fW1RUZIqLi80777xj2rRpY8rKykxxcbEpKSkxnTp1Mj169DDXX3+9uf766821115rJJkFCxYc59+Mp6VLl5p69eqZkSNHmrKyMtO8eXMzf/58Y4wxX3/9tUlOTjY33nijyc3NNTfccIO5/PLLzW+//WZ++eUXj9fp06ePefDBB40xxuTl5bmPf/zxx0aSKSkpMQUFBWbQoEFmy5YtlfqoV6+eeffdd937H374oZFknnrqKVNUVOTejl710L59e3efAIDgqHjlljHGvPnmm0aSyc/Pdx/buXOnx35FP/30U6XMO3jwoImNjTUjR440U6dO9dgee+wx9+PIbv+R3QCAo2p63u1yucy+fftMXl6e+f33383+/fur3A4dOmScTqfZv3+/KSkpMcaQ3dVBdgPGMEQHfBg5cqQZO3ZslY+RZLKysrzW0tLSTI8ePYwxf5zEt2/f3l374osvTGxsrM/XdTqd5scffzS//PKL2blzp7nmmmtMdna22bt3r3v75ptvzFVXXWW++OIL88svv5hvv/3WfPvtt5Veq3379mbu3LkmPz/f55aamuozkC+77DL3+zhq1KhR5rTTTjNFRUXm448/NomJiV6/6jZ8+PBKf2m45JJLzEMPPWQaN25sOnbs6P4LzLx580zz5s2Ny+Xy+ftyrOLiYjNixAgzfvx4c+jQIfPmm2+aW265xcydO9cYY8ySJUvMsGHD3K+5du1ac9ttt5mysjKP11m0aJHp0KGDKS4uNmvWrDFJSUnur/IfDfPffvvNfPrpp+bJJ580l112mbn77rs9XiMpKckd5gUFBaZjx46V3ntCQoL58ccf3f9eXnjhBb/fKwCgar///rtp1aqVWbx4sfuYtyF6enq66d69u8fXvw8cOGA2btxo/vvf/xpJ5u233zZffvmlKSgoMP/5z39MkyZNzPDhwz22Xr16mfr167tfg+z2D9kNAKgo0PNuY4wZMmSIqVevnmnWrJnXLTY21vz73/+u9Dyy2z9kN/AHhuiAD7fffrs59dRTj7t5uxJ95cqVRpLPIfq2bduMJHPkyJEqeygtLTVXX321kWSmT5/uUfv0009N8+bNzYknnmhWrlzp8zVat2593NBo06aNWbhwYaXjn3zyiZHk8Un7tGnTTP369c3XX3/tPvbiiy8au91u7r77bo8wzs3NNQcOHDDnnnuuSU1NNU6n06xdu9bExcWZtWvXmoEDB5q77rrL7N+/35x00kl+rw3vzY4dO4wkj75atWrl82qGo1crrlmzxiQnJ5v//ve/Jj8/3wwYMMD8+c9/Nh988IF5+OGHTf/+/d1BfPQT/EcffdT873//8/j5ycnJ5t133zVlZWXmqquuMpLMpEmTjDHGHDp0yLRr187MmDHD/XjCHACC74477jAJCQnm888/N8ZUHqIvXrzYSDLLly/3eN7SpUu9Xi32+eefm1NPPdU89NBDlX7W0eH6schu/5HdAIBAzruPGjZsmBk1apTP+rnnnmueeuopn3Wy239kN6IZQ3TgGIcPHz7ujUYqKisrM4WFhe5PdsvKyszZZ59tmjZt6jFEb9u2rdm1a5fZtWuXWb9+vZFktm3bZnbt2mV+/PFH88MPP3i87qFDh8zAgQNNbGysz68f5eTkmAEDBhibzWbGjx/v7qGik046ydjtdiPJ2Gw2Y7fbvW7z5s3zeF5hYaHp2rWrSUpKMv369TPFxcXmlltuMfXq1TMfffRRpZ/z+uuvm3r16pm2bduaTZs2ebyPuLg4k5qaal555RVjjDHbt283xhiza9cu07RpU9OxY0czaNAgf3/LvdqzZ4+R5HFVQKNGjczHH3/s8bijX5M7egXipEmT3MOS+Ph406BBA7Nr1y4zYcIEM2zYMPPggw9Wel1j/vjvpOLXz46G+eLFi03Tpk3NBx98YJo1a2YyMzPNeeedZ0aOHOnxfMIcAIKvtLTU9O7d27Rr1844nU6PIfq3335rkpKSzL/+9a9Kzzty5IgpLi52L+eyZcsWc/jwYfP888+bE044wWzcuNFcddVVpqCgwP2cWbNmmVatWnm8DtldPWQ3AESvQM+7K7ryyiurzEtJXq9EN4bsri6yG9HM8+4JANSpUyc5HA7ZbDY5HA73dux+xS0xMVELFy6UJM2aNUvff/+9brrpJo/X3blzp7p06aIuXbrooosukiSlpaWpS5cu6ty5s8eNMQ4dOqSzzz5ba9eu1fvvv699+/ZVutHKN998o169eum2227T6NGjlZOTI5fLVen97NmzR0uWLFHjxo316aefqrS01Ot24403ejzvlltu0c8//6yxY8dK+uOmam+88YY++OADvf3223r//ffdj506daq++eYbffnll7r00kvVuXNnd+3111/XkSNHdPjwYf3zn/9UVlaWOnbsKEk6ePCgkpKS9MMPP6hevXrau3dvtf993XTTTTrzzDPdv39DhgxRp06dtHnz5ko3iKno6E1mxowZo88//1xFRUU677zz9PDDD6tVq1Z69NFHtWTJEt1+++2SpI0bN+q1117T5MmTlZ6erkaNGmnZsmWVXjcjI0NbtmxRv379NHz4cD3++OPavHmzrr322mq/NwBA9djtdv3nP//RKaecouLiYo/am2++qVNOOUX//ve/Kz3P4XB43HTKZrMpMTFRGzZs0O233662bdtq06ZNHjcLKykpUUJCgnuf7PYf2Q0ACPS8u6LXXntN5eXlPvPSGKNx48ZVeh7Z7T+yGxA3FgWOVVxcbH788Udjt9vdx7Zt22YaN25sSkpKTFFRkcc6qsb8cVOTo0uzfPHFF2bx4sVm5syZPpdzMeaPr3Id+3XyitavX2+2bt1qjDHm/vvvN0lJSWb//v3u+lVXXWVOPvlk91Vx3j7F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9NFHzZ/+9Cdz8OBB069fP9OqVSvz+++/ezxmxIgRZvjw4b5+S81rr71mmjVr5t7fs2ePkWTWrFnj8bh+/fqZUaNG+Xydqnz77bdGktm4caP7WHx8vPn44489HrdmzRojyeTn5xtj/ri7+pQpU0x2drb77u8lJSXmX//6l0lMTDSnnnqq2bBhg/u5iYmJpmvXrsbhcJjZs2e7Xzc2NtZIqtb21FNP1ei9AgD8s3TpUiPJHDhwICiv991335nrrrvODB061DgcDnPXXXe5a2R39ZHdABC9gnHefc4555hJkyb59fMmTpxounfvbmbNmuU+RnZXH9mNaMYQHaimo3/gH899991nOnbs6H7O0QAsKyszf/vb39wh88svv5gbbrjBPPLII+7nHj582Hz++eemrKzM77727t1rioqKatyvL4888og5++yzzfbt202PHj3M5s2bKz1m6NCh5q9//avP1ygoKDA7d+5075eVlZnc3FxTWloaUG8VlZSUmJ9++sm4XK6gvN7cuXPNo48+aoqLiz2Of/HFF6Zv375mxIgRHv3bbDbz7rvv+v367du39/jLAAAg+BYtWmQkVfqgu6aKiopMSkqKOfXUU82NN95oDh486K6R3dVHdgMAfAk0C491+PDhSq9Jdlcf2Y1oZjOmGndYABDVjDHVWjstmuzYsUPNmjU77k3mAAAIJbLbN7IbABCOyG7fyG5YiSE6AAAAAAAAAAA++L5VLwAAAAAAAAAAUc6yIfqLL76o1NRU1a9fX/3799eOHTskSTk5OUpLS1OjRo2UmZnpcWfhqmoAAKB2kd0AAEQWshsAgOCwZIj+ww8/aNKkSXrrrbe0detWtWnTRiNHjpTL5dLgwYPVo0cPZWdna+vWrVqwYIEkVVkDAAC1i+wGACCykN0AAASPJUP0jRs3qnfv3urevbtSU1N13XXX6dtvv9WKFSvkdDo1Y8YMtW/fXlOmTNH8+fMlqcoaAACoXWQ3AACRhewGACB4HFb80E6dOmn16tXauHGjTj75ZD311FMaMGCANm/erN69eysxMVGS1K1bN23dulWSqqx543K55HK53Pvl5eX6/fff1bhxY+5yDACICMYY5efn66STTlJMjLW3MSG7AQA4PrKb7AYARBZ/s9uyIfqVV16p7t27S5LatWun9evXa9q0aWrXrp37cTabTXa7Xbm5ucrL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b77RwIEDdeTIEd1///1yOP6Yx1966aVKS0vT5MmTa9zUnj17lJ2drT59+qhp06Z+16qSl5en5ORkOZ1Oj5uqAAAQroKVXWQ3AMm/q82zsrJqvQ+gLiO7yW4AQGTxN7tqNESfOXOm+vTpo++++06TJk2SMUZvvfWWjhw5ojPOOEPfffedmjdvHvCbCCbCHAAQaYJ5Ik52A1i7dq0mTZrks/7II49wJToQILKb7AZqy/nnny9jjGw2mz7++GOr2wHqDH+zy+/lXDZt2qSffvpJNptN11xzjSTp5JNP1p///Gc9/PDD6tWrl1JTU3XrrbeGXZADABCNyG4AFfXp0yegOoDaR3YD8Oadd97R0WtgjTF65513dOmll1rcFRBd/Lqx6LJly9S9e3c99dRTXut33HGHTj75ZG3cuFHjx48PaoMAAKD6yG4Ax9q5c2dAdQC1i+wG4MuMGTOq3AdQ+/waovft21crV67Uhx9+KGOMSkpK3LV3331XZ555phITEzVkyJCA1mQDAADBQXYDOFZqaqrS0tK81nr27KnU1NQQdwSgIrIbgDdHv5Xi73EAtaNGa6IPGjRIqampateune666y5NnjxZt9xyiw4dOqQOHTros88+0ymnnFJbPdcIa7MBACJNMNdVJbsBSNLu3bt17bXXqqyszH3M4XBo4cKFatmypYWdAXUD2U12A8FUUFCgQYMG+awvX75c9evXD2FHQN3jb3b5dSX6sf7617/q8ccfl8vl0o8//qhbbrlFktSwYUNde+21mj17ds26BgAAtYLsBiBJrVq1UkZGhmw2myTJZrMpIyODAToQhshuANddd11AdQDBU+0hujFGgwYN0muvvaZx48YpOzvbo3755Zdr6dKlquYF7gAAoJaQ3QAqGj58uBo3bixJatKkiTIyMizuCMCxyG4AkvTCCy8EVAcQPNUaortcLuXl5UmSLrnkEo0bN869f1RaWpqcTqc2bdoUtCYBAEDNkN0AjpWQkKBx48apWbNmuv3225WQkGB1SwAqILsBHFW/fn21atXKay01NZWlXIAQqtaa6MYY7dy5U23atKnycV999ZW6du0acHPBxNpsAIBIE4zsIrsBAAgdspvsBmpDenp6pWNZWVkh7wOoi2plTXSbzVZlkB8+fFilpaVhF+QAAESr42X3UWQ3AADhgewGcKxx48ZVuQ+g9jlq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otJjOO8GosPxlmphKRcgdPweortcLvevi4uLFRsbq23btmnTpk169tlnlZubK0lasWKFtm/fHvxOAQCA34qLi3XmmWeqvLxcd911l3788Ud3LT4+Xg5Hjb6MBgAAalF1zru/+eYbq9oEEEK+lmthGRcgtPweoterV092u112u13Jycmy2+1yOBz68ccf9fLLL6tv37667bbbNGvWLN1555212TMAADiO+Ph47dq1S7t379batWvVqVMnZWZmqqCgQHa7XbGxsVa3CMACvtZW9WfNVQC1rzrn3XfddZfV7QIAEDX8HqL36dNHTzzxhB577DF1797do3bttddq48aN+uKLL1RcXKxWrVoFvVEAAOA/m80mu92u1NRUrVmzRv/973/10Ucf6bTTTtPBgwdVg/uKA4hwN954Y0B1ALWP824A3hx71TlXoQOh5/d3uW02m2JjY1VaWiqbzeY+XlZWpqVLl2rOnDn685//rFatWmncuHGszwZEkYpXrxHmQHj605/+pOzsbH366adq3LixR5YDiA7fffddQHUAtY/zbgC+cK4NWCvgBVHj4uLUs2dP3X777dq8ebPS0tL0yCOPBKM3ABHg2K9/p6enE+5AmCgoKNC4ceMqHV+2bJkOHz7srpWVlam4uFjPPPNMqFsEEEIdOnSoclDeoUOHEHYDoDo47wYAwFoBDdF/+eUXvffee5KkCRMmaMOGDWrXrp3q168flOYAAEBgfC3bYoxx14wxKi8vD2VbACzw7LPPVrn2+bPPPhu6ZgD4jfNuAACsF9AQvUGDBmrcuLEKCwu1atUqXXvttfr222/Vv3//YPUHIIxVdXMyrkYHrFe/fn3NnDnTvV9cXKzff/9dJ510kl566SWPGoDokJWV5TW/yW0gfHHeDQCA9fy+sag3DRo0UFpamrp3765GjRpp6NChSkhIUEZGRrD6AxCmqrqSzZ86gNB69913dfrpp+uSSy5RaWmp1e0AAAA/cd4NAID1/L4SfcuWLXrsscdUVlYmp9MpScrPz9cXX3yhoqIiHTp0SFu2bNGXX35Za80CAAD/GWNUUlKi66+/Xq+//royMzM1btw4ORwObiwKRLFjr0bnKnQgfHDeDQBAePJ7iL5ixQolJiZKkoqKiiRJTqdTv/zyiySpV69eeuutt7Rr1y4dOXJEsbGxtdAuAADwR3FxsVwul+Li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",
      "text/plain": [
       "<Figure size 1500x500 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 确保你的数据集中包含列：最低交易价格, 平均交易价格, 最高交易价格  \n",
    "columns = ['最低交易价格', '平均交易价格', '最高交易价格']  \n",
    "  \n",
    "# 使用箱线图进行异常值检测（虽然这里是用IQR方法，但箱线图仍然是一个很好的可视化工具）  \n",
    "plt.figure(figsize=(15, 5))  \n",
    "  \n",
    "# 绘制箱线图  \n",
    "for i, column in enumerate(columns, 1):  \n",
    "    plt.subplot(1, 3, i)\n",
    "    plt.ylim(0,800)\n",
    "    sns.boxplot(y=df[column])  \n",
    "    plt.title(f'{column} 箱线图')  \n",
    "plt.tight_layout()  \n",
    "plt.show()  "
   ]
  },
  {
   "cell_type": "raw",
   "id": "be6b0c35",
   "metadata": {},
   "source": [
    "# 确保你的数据集中包含列：最低交易价格, 平均交易价格, 最高交易价格  \n",
    "columns = ['最低交易价格', '平均交易价格', '最高交易价格']  \n",
    "plt.figure(figsize=(15, 5))  \n",
    "# 使用IQR进行异常值检测  \n",
    "iqr_outliers = []  \n",
    "  \n",
    "for column in columns:  \n",
    "    Q1 = df[column].quantile(0.25)  \n",
    "    Q3 = df[column].quantile(0.75)  \n",
    "    IQR = Q3 - Q1  \n",
    "    lower_bound = Q1 - 1.5 * IQR  \n",
    "    upper_bound = Q3 + 1.5 * IQR  \n",
    "      \n",
    "    # 标记异常值  \n",
    "    outlier_mask = (df[column] < lower_bound) | (df[column] > upper_bound)  \n",
    "    iqr_outliers.append(outlier_mask)  \n",
    "      \n",
    "    # 打印异常值范围（可选）  \n",
    "    print(f\"Column {column} IQR outliers range: ({lower_bound}, {upper_bound})\")  \n",
    "# 合并所有列的异常值标记  \n",
    "iqr_outliers_combined = np.any(np.column_stack(iqr_outliers), axis=1)  \n",
    "  \n",
    "# 创建一个标记异常值的DataFrame  \n",
    "df_with_iqr_outliers = df.copy()  \n",
    "df_with_iqr_outliers['是IQR异常值'] = iqr_outliers_combined  \n",
    "  \n",
    "# 打印异常值数据  \n",
    "print(\"IQR异常值数据：\")  \n",
    "print(df_with_iqr_outliers[df_with_iqr_outliers['是IQR异常值']])  \n",
    "# 可视化异常值（使用散点图）  \n",
    "plt.figure(figsize=(15, 5))  \n",
    "  \n",
    "for i, column in enumerate(columns, 1):  \n",
    "    plt.subplot(1, 3, i)  \n",
    "    sns.scatterplot(x=df.index, y=df[column], hue=df_with_iqr_outliers['是IQR异常值'], palette=['blue', 'red'])  \n",
    "    plt.title(f'{column} 散点图（IQR异常值标记）')  \n",
    "    plt.axhline(y=df[column].mean(), color='green', linestyle='--', label='均值')  \n",
    "    plt.legend(labels=['正常', 'IQR异常值', '均值'])  \n",
    "plt.tight_layout()  \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "8100f45d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "异常值行数据:\n",
      "        农产品市场所在省份                           市场名称映射值 农产品类别  \\\n",
      "0              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
      "1              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
      "2              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
      "3              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
      "4              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
      "...           ...                               ...   ...   \n",
      "1869267        山东  DBC7E4EB1DF15BB374DB063F33DAD1D7    蔬菜   \n",
      "1869288        山东  DBC7E4EB1DF15BB374DB063F33DAD1D7    蔬菜   \n",
      "1945247        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "1945290        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "1945333        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "\n",
      "                                 农产品名称映射值  规格  区域   颜色     单位  最低交易价格  平均交易价格  \\\n",
      "0        9FABF2093EC485754BCCA2E513205297  \\N  \\N   红色  20支/扎    19.0    22.0   \n",
      "1        5E0CB63A28D060666E38F5417E1FC534  \\N  \\N   红色  20支/扎    18.0    22.0   \n",
      "2        FC7FE9E4A9E19A0DCA856E211B456728  \\N  \\N   粉色  20支/扎    16.0    19.0   \n",
      "3        C6D05CB73BA09902CCDC27C4B9D49A48  \\N  \\N  黑红色  20支/扎    16.0    18.0   \n",
      "4        427BAA73BD3D384FF704D4E13BF01EB5  \\N  \\N   粉色  20支/扎    20.0    24.0   \n",
      "...                                   ...  ..  ..  ...    ...     ...     ...   \n",
      "1869267  618BECB019CDD4FFC01EAA6C80179F3F  \\N  \\N   \\N     \\N    10.0    13.0   \n",
      "1869288  618BECB019CDD4FFC01EAA6C80179F3F  \\N  \\N   \\N     \\N    10.0    13.0   \n",
      "1945247  82E3E8AA8A835BE957F1461232457B46  \\N  \\N   \\N     \\N    10.0    14.0   \n",
      "1945290  82E3E8AA8A835BE957F1461232457B46  \\N  \\N   \\N     \\N    10.0    14.0   \n",
      "1945333  82E3E8AA8A835BE957F1461232457B46  \\N  \\N   \\N     \\N    10.0    14.0   \n",
      "\n",
      "         最高交易价格              数据入库时间     数据发布时间  \n",
      "0          24.0 2016-07-18 15:05:19 2015-11-27  \n",
      "1          24.0 2016-07-18 15:05:19 2015-11-27  \n",
      "2          22.0 2016-07-18 15:05:19 2015-11-27  \n",
      "3          20.0 2016-07-18 15:05:19 2015-11-27  \n",
      "4          26.0 2016-07-18 15:05:19 2015-11-27  \n",
      "...         ...                 ...        ...  \n",
      "1869267    14.4 2016-07-18 15:34:18 2014-04-27  \n",
      "1869288    14.4 2016-07-18 15:34:18 2014-04-25  \n",
      "1945247    16.0 2016-07-18 15:34:18 2012-06-10  \n",
      "1945290    16.0 2016-07-18 15:34:18 2012-06-08  \n",
      "1945333    16.0 2016-07-18 15:34:18 2012-06-07  \n",
      "\n",
      "[245215 rows x 13 columns]\n",
      "IQR准则检测出的异常值比例为:\n",
      " 0.12562675050834224\n",
      "清理后的数据框:\n",
      "        农产品市场所在省份                           市场名称映射值 农产品类别  \\\n",
      "0              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
      "1              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
      "2              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
      "3              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
      "4              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
      "...           ...                               ...   ...   \n",
      "1706713        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "1706714        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "1706715        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "1706716        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "1706717        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
      "\n",
      "                                 农产品名称映射值  规格  区域  颜色     单位  最低交易价格  平均交易价格  \\\n",
      "0        534C650F1725506DA76EC255755177F2  \\N  \\N  黄色  10支/扎     8.0    11.0   \n",
      "1        699BCDE7CDDF38710BD29469B43D46A5  \\N  \\N  各色  20支/扎     7.0     8.0   \n",
      "2        4CD002EE95094A64815311C5A77D42B8  \\N  \\N  红色  20支/扎     8.0     9.0   \n",
      "3        4A39486762EA71A63B59FF60143B177F  \\N  \\N  粉色  20支/扎     6.0     7.0   \n",
      "4        C22BB83DD87BB6CE53DE87918DAE2AE0  \\N  \\N  绿色  20支/扎     7.0     8.0   \n",
      "...                                   ...  ..  ..  ..    ...     ...     ...   \n",
      "1706713  3E0E45ECDD52843D41C487FBB7BEF094  \\N  \\N  \\N     \\N     1.0     1.0   \n",
      "1706714  552CD2C91A20DA48CD8FE41F7F02AFE3  \\N  \\N  \\N     \\N     3.0     3.0   \n",
      "1706715  1C5F3F6AE7E0232791D9170A8125DD4D  \\N  \\N  \\N     \\N     4.0     4.0   \n",
      "1706716  B6BEB81F246F19A5F0CF483DDD008DD2  \\N  \\N  \\N     \\N     3.6     3.6   \n",
      "1706717  74C9227D95C45856683C457BBCD04D90  \\N  \\N  \\N     \\N     2.2     2.2   \n",
      "\n",
      "         最高交易价格              数据入库时间     数据发布时间  \n",
      "0          13.0 2016-07-18 15:05:19 2015-11-27  \n",
      "1           9.0 2016-07-18 15:05:19 2015-11-27  \n",
      "2          10.0 2016-07-18 15:05:19 2015-11-27  \n",
      "3           9.0 2016-07-18 15:05:19 2015-11-27  \n",
      "4           9.0 2016-07-18 15:05:19 2015-11-27  \n",
      "...         ...                 ...        ...  \n",
      "1706713     1.0 2016-07-18 15:34:18 2010-12-01  \n",
      "1706714     3.0 2016-07-18 15:34:18 2010-12-01  \n",
      "1706715     4.0 2016-07-18 15:34:18 2010-12-01  \n",
      "1706716     3.6 2016-07-18 15:34:18 2010-12-01  \n",
      "1706717     2.2 2016-07-18 15:34:18 2010-12-01  \n",
      "\n",
      "[1706718 rows x 13 columns]\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "columns = ['最低交易价格', '平均交易价格', '最高交易价格']\n",
    "\n",
    "# 定义一个函数来检测异常值\n",
    "def detect_and_remove_outliers(df, columns):\n",
    "    outliers = pd.DataFrame()\n",
    "    for column in columns:\n",
    "        # 计算四分位数\n",
    "        Q1 = df[column].quantile(0.25)\n",
    "        Q3 = df[column].quantile(0.75)\n",
    "        IQR = Q3 - Q1  # 四分位距\n",
    "        # 定义异常值的阈值\n",
    "        lower_bound = Q1 - 1.5 * IQR\n",
    "        upper_bound = Q3 + 1.5 * IQR\n",
    "\n",
    "        # 筛选出异常值\n",
    "        outlier_indices = df[(df[column] < lower_bound) | (df[column] > upper_bound)].index\n",
    "        # 将异常值行添加到结果数据框中\n",
    "        if not outliers.empty:\n",
    "            outliers = outliers.append(df.loc[outlier_indices])\n",
    "        else:\n",
    "            outliers = df.loc[outlier_indices]\n",
    "\n",
    "    # 去除重复的行（如果有的话）\n",
    "    outliers = outliers.drop_duplicates()\n",
    "\n",
    "    # 删除异常值并返回处理后的原表df\n",
    "    df_cleaned = df.drop(index=outliers.index).reset_index(drop=True)\n",
    "    return df_cleaned, outliers\n",
    "\n",
    "# 检测并删除异常值，同时返回处理后的df和异常值\n",
    "df_cleaned, outliers = detect_and_remove_outliers(df, columns)\n",
    "print(\"异常值行数据:\")\n",
    "print(outliers)\n",
    "print('IQR准则检测出的异常值比例为:\\n', len(outliers)/len(df))\n",
    "\n",
    "# 打印清理后的数据框以验证\n",
    "print(\"清理后的数据框:\")\n",
    "print(df_cleaned)\n",
    "df=df_cleaned "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "a62e1d0b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份</th>\n",
       "      <th>市场名称映射值</th>\n",
       "      <th>农产品类别</th>\n",
       "      <th>农产品名称映射值</th>\n",
       "      <th>规格</th>\n",
       "      <th>区域</th>\n",
       "      <th>颜色</th>\n",
       "      <th>单位</th>\n",
       "      <th>最低交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>数据入库时间</th>\n",
       "      <th>数据发布时间</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>534C650F1725506DA76EC255755177F2</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>黄色</td>\n",
       "      <td>10支/扎</td>\n",
       "      <td>8.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>699BCDE7CDDF38710BD29469B43D46A5</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>各色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>4CD002EE95094A64815311C5A77D42B8</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>红色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>4A39486762EA71A63B59FF60143B177F</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>粉色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>C22BB83DD87BB6CE53DE87918DAE2AE0</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>绿色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706713</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>3E0E45ECDD52843D41C487FBB7BEF094</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706714</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>552CD2C91A20DA48CD8FE41F7F02AFE3</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706715</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>1C5F3F6AE7E0232791D9170A8125DD4D</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706716</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>B6BEB81F246F19A5F0CF483DDD008DD2</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1706717</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>74C9227D95C45856683C457BBCD04D90</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1706718 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        农产品市场所在省份                           市场名称映射值 农产品类别  \\\n",
       "0              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "1              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "2              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "3              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "4              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "...           ...                               ...   ...   \n",
       "1706713        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1706714        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1706715        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1706716        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1706717        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "\n",
       "                                 农产品名称映射值  规格  区域  颜色     单位  最低交易价格  平均交易价格  \\\n",
       "0        534C650F1725506DA76EC255755177F2  \\N  \\N  黄色  10支/扎     8.0    11.0   \n",
       "1        699BCDE7CDDF38710BD29469B43D46A5  \\N  \\N  各色  20支/扎     7.0     8.0   \n",
       "2        4CD002EE95094A64815311C5A77D42B8  \\N  \\N  红色  20支/扎     8.0     9.0   \n",
       "3        4A39486762EA71A63B59FF60143B177F  \\N  \\N  粉色  20支/扎     6.0     7.0   \n",
       "4        C22BB83DD87BB6CE53DE87918DAE2AE0  \\N  \\N  绿色  20支/扎     7.0     8.0   \n",
       "...                                   ...  ..  ..  ..    ...     ...     ...   \n",
       "1706713  3E0E45ECDD52843D41C487FBB7BEF094  \\N  \\N  \\N     \\N     1.0     1.0   \n",
       "1706714  552CD2C91A20DA48CD8FE41F7F02AFE3  \\N  \\N  \\N     \\N     3.0     3.0   \n",
       "1706715  1C5F3F6AE7E0232791D9170A8125DD4D  \\N  \\N  \\N     \\N     4.0     4.0   \n",
       "1706716  B6BEB81F246F19A5F0CF483DDD008DD2  \\N  \\N  \\N     \\N     3.6     3.6   \n",
       "1706717  74C9227D95C45856683C457BBCD04D90  \\N  \\N  \\N     \\N     2.2     2.2   \n",
       "\n",
       "         最高交易价格              数据入库时间     数据发布时间  \n",
       "0          13.0 2016-07-18 15:05:19 2015-11-27  \n",
       "1           9.0 2016-07-18 15:05:19 2015-11-27  \n",
       "2          10.0 2016-07-18 15:05:19 2015-11-27  \n",
       "3           9.0 2016-07-18 15:05:19 2015-11-27  \n",
       "4           9.0 2016-07-18 15:05:19 2015-11-27  \n",
       "...         ...                 ...        ...  \n",
       "1706713     1.0 2016-07-18 15:34:18 2010-12-01  \n",
       "1706714     3.0 2016-07-18 15:34:18 2010-12-01  \n",
       "1706715     4.0 2016-07-18 15:34:18 2010-12-01  \n",
       "1706716     3.6 2016-07-18 15:34:18 2010-12-01  \n",
       "1706717     2.2 2016-07-18 15:34:18 2010-12-01  \n",
       "\n",
       "[1706718 rows x 13 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df=df_cleaned \n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "42798856",
   "metadata": {},
   "outputs": [],
   "source": [
    "df=df.loc[df['最高交易价格']>0,:]\n",
    "df=df.loc[df['平均交易价格']>0,:]\n",
    "df=df.loc[df['最低交易价格']>0,:]\n",
    "df=df.reset_index(drop=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "bfa8e499",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份</th>\n",
       "      <th>市场名称映射值</th>\n",
       "      <th>农产品类别</th>\n",
       "      <th>农产品名称映射值</th>\n",
       "      <th>规格</th>\n",
       "      <th>区域</th>\n",
       "      <th>颜色</th>\n",
       "      <th>单位</th>\n",
       "      <th>最低交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>数据入库时间</th>\n",
       "      <th>数据发布时间</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>玫瑰花</td>\n",
       "      <td>534C650F1725506DA76EC255755177F2</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>黄色</td>\n",
       "      <td>10支/扎</td>\n",
       "      <td>8.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>699BCDE7CDDF38710BD29469B43D46A5</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>各色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>4CD002EE95094A64815311C5A77D42B8</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>红色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>4A39486762EA71A63B59FF60143B177F</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>粉色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>云南</td>\n",
       "      <td>F84FFE619392149018384D16BE6FF525</td>\n",
       "      <td>康乃馨</td>\n",
       "      <td>C22BB83DD87BB6CE53DE87918DAE2AE0</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>绿色</td>\n",
       "      <td>20支/扎</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016-07-18 15:05:19</td>\n",
       "      <td>2015-11-27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310755</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>3E0E45ECDD52843D41C487FBB7BEF094</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310756</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>552CD2C91A20DA48CD8FE41F7F02AFE3</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310757</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>1C5F3F6AE7E0232791D9170A8125DD4D</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310758</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>B6BEB81F246F19A5F0CF483DDD008DD2</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310759</th>\n",
       "      <td>湖南</td>\n",
       "      <td>53740BC1D5041A8ED06E3DBBA320A907</td>\n",
       "      <td>蔬菜</td>\n",
       "      <td>74C9227D95C45856683C457BBCD04D90</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>\\N</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2016-07-18 15:34:18</td>\n",
       "      <td>2010-12-01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1310760 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        农产品市场所在省份                           市场名称映射值 农产品类别  \\\n",
       "0              云南  F84FFE619392149018384D16BE6FF525   玫瑰花   \n",
       "1              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "2              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "3              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "4              云南  F84FFE619392149018384D16BE6FF525   康乃馨   \n",
       "...           ...                               ...   ...   \n",
       "1310755        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1310756        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1310757        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1310758        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "1310759        湖南  53740BC1D5041A8ED06E3DBBA320A907    蔬菜   \n",
       "\n",
       "                                 农产品名称映射值  规格  区域  颜色     单位  最低交易价格  平均交易价格  \\\n",
       "0        534C650F1725506DA76EC255755177F2  \\N  \\N  黄色  10支/扎     8.0    11.0   \n",
       "1        699BCDE7CDDF38710BD29469B43D46A5  \\N  \\N  各色  20支/扎     7.0     8.0   \n",
       "2        4CD002EE95094A64815311C5A77D42B8  \\N  \\N  红色  20支/扎     8.0     9.0   \n",
       "3        4A39486762EA71A63B59FF60143B177F  \\N  \\N  粉色  20支/扎     6.0     7.0   \n",
       "4        C22BB83DD87BB6CE53DE87918DAE2AE0  \\N  \\N  绿色  20支/扎     7.0     8.0   \n",
       "...                                   ...  ..  ..  ..    ...     ...     ...   \n",
       "1310755  3E0E45ECDD52843D41C487FBB7BEF094  \\N  \\N  \\N     \\N     1.0     1.0   \n",
       "1310756  552CD2C91A20DA48CD8FE41F7F02AFE3  \\N  \\N  \\N     \\N     3.0     3.0   \n",
       "1310757  1C5F3F6AE7E0232791D9170A8125DD4D  \\N  \\N  \\N     \\N     4.0     4.0   \n",
       "1310758  B6BEB81F246F19A5F0CF483DDD008DD2  \\N  \\N  \\N     \\N     3.6     3.6   \n",
       "1310759  74C9227D95C45856683C457BBCD04D90  \\N  \\N  \\N     \\N     2.2     2.2   \n",
       "\n",
       "         最高交易价格              数据入库时间     数据发布时间  \n",
       "0          13.0 2016-07-18 15:05:19 2015-11-27  \n",
       "1           9.0 2016-07-18 15:05:19 2015-11-27  \n",
       "2          10.0 2016-07-18 15:05:19 2015-11-27  \n",
       "3           9.0 2016-07-18 15:05:19 2015-11-27  \n",
       "4           9.0 2016-07-18 15:05:19 2015-11-27  \n",
       "...         ...                 ...        ...  \n",
       "1310755     1.0 2016-07-18 15:34:18 2010-12-01  \n",
       "1310756     3.0 2016-07-18 15:34:18 2010-12-01  \n",
       "1310757     4.0 2016-07-18 15:34:18 2010-12-01  \n",
       "1310758     3.6 2016-07-18 15:34:18 2010-12-01  \n",
       "1310759     2.2 2016-07-18 15:34:18 2010-12-01  \n",
       "\n",
       "[1310760 rows x 13 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "dcdbce4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "df1 = df.copy()\n",
    "df2 = df.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7bd78ed",
   "metadata": {},
   "source": [
    "#### 对所在省份进行区域划分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "7eeb8a42",
   "metadata": {},
   "outputs": [],
   "source": [
    "region_code_mapping = {  \n",
    "    '北京': 1, '天津': 1, '河北': 1, '辽宁': 1, '上海': 1, '江苏': 1, '浙江': 1, '福建': 1, '山东': 1, '广东': 1,  # 东部  \n",
    "    '山西': 2, '吉林': 2, '黑龙江': 2, '安徽': 2, '江西': 2, '河南': 2, '湖北': 2, '湖南': 2,  # 中部  \n",
    "    '内蒙古': 3, '广西': 3, '重庆': 3, '四川': 3, '贵州': 3, '云南': 3, '西藏': 3, '陕西': 3, '甘肃': 3, '青海': 3, '宁夏': 3, '新疆': 3  # 西部  \n",
    "}  \n",
    "  \n",
    "df1['区域'] = df1['农产品市场所在省份'].map(region_code_mapping)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a824325",
   "metadata": {},
   "source": [
    "### 独热编码-’农产品市场所在省份', '农产品类别'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "be3a0906",
   "metadata": {},
   "outputs": [],
   "source": [
    "one_hot_encoded_df = pd.get_dummies(df1[['农产品市场所在省份', '农产品类别']])  \n",
    "  # 使用 pd.merge 将独热编码后的 DataFrame 与 df1 合并，基于索引  \n",
    "df1 = pd.merge(one_hot_encoded_df, df1, left_index=True, right_index=True)  \n",
    "df1 = df1.drop(['农产品市场所在省份', '农产品类别'], axis=1)  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b6f02c2",
   "metadata": {},
   "source": [
    "### 标签编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "7aae7e80",
   "metadata": {},
   "outputs": [],
   "source": [
    "#市场名称映射值\n",
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "   \n",
    "unique_colors = df1['市场名称映射值'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df1['市场名称映射值'] = df1['市场名称映射值'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "2f8b901b",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "#农产品名称映射值\n",
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "  \n",
    "unique_colors = df1['农产品名称映射值'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df1['农产品名称映射值'] = df1['农产品名称映射值'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "468b1978",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "  \n",
    "unique_colors = df1['单位'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df1['单位'] = df1['单位'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "66ac20a8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "  \n",
    "# 直接对 '颜色' 列中的所有唯一值进行编码，包括 '\\\\N'  \n",
    "unique_colors = df1['颜色'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df1['颜色'] = df1['颜色'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "1b6d97c0",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "  \n",
    "# 直接对 '颜色' 列中的所有唯一值进行编码，包括 '\\\\N'  \n",
    "unique_colors = df1['规格'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df1['规格'] = df1['规格'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "e5001915",
   "metadata": {},
   "outputs": [],
   "source": [
    "#对日期进行处理\n",
    "df1['数据入库年份']= df1['数据入库时间'].dt.year\n",
    "df1['数据入库月份']= df1['数据入库时间'].dt.month\n",
    "df1['数据入库日份']= df1['数据入库时间'].dt.day\n",
    "df1['数据发布年份']= df1['数据发布时间'].dt.year\n",
    "df1['数据发布月份']= df1['数据发布时间'].dt.month\n",
    "df1['数据发布日份']= df1['数据发布时间'].dt.day\n",
    "df1 = df1.drop(['数据入库时间','数据发布时间'],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "c9a83ee5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份_上海</th>\n",
       "      <th>农产品市场所在省份_云南</th>\n",
       "      <th>农产品市场所在省份_内蒙古</th>\n",
       "      <th>农产品市场所在省份_北京</th>\n",
       "      <th>农产品市场所在省份_四川</th>\n",
       "      <th>农产品市场所在省份_天津</th>\n",
       "      <th>农产品市场所在省份_安徽</th>\n",
       "      <th>农产品市场所在省份_山东</th>\n",
       "      <th>农产品市场所在省份_新疆</th>\n",
       "      <th>农产品市场所在省份_江苏</th>\n",
       "      <th>...</th>\n",
       "      <th>单位</th>\n",
       "      <th>最低交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>数据入库年份</th>\n",
       "      <th>数据入库月份</th>\n",
       "      <th>数据入库日份</th>\n",
       "      <th>数据发布年份</th>\n",
       "      <th>数据发布月份</th>\n",
       "      <th>数据发布日份</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310755</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310756</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310757</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310758</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310759</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1310760 rows × 50 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         农产品市场所在省份_上海  农产品市场所在省份_云南  农产品市场所在省份_内蒙古  农产品市场所在省份_北京  \\\n",
       "0                   0             1              0             0   \n",
       "1                   0             1              0             0   \n",
       "2                   0             1              0             0   \n",
       "3                   0             1              0             0   \n",
       "4                   0             1              0             0   \n",
       "...               ...           ...            ...           ...   \n",
       "1310755             0             0              0             0   \n",
       "1310756             0             0              0             0   \n",
       "1310757             0             0              0             0   \n",
       "1310758             0             0              0             0   \n",
       "1310759             0             0              0             0   \n",
       "\n",
       "         农产品市场所在省份_四川  农产品市场所在省份_天津  农产品市场所在省份_安徽  农产品市场所在省份_山东  农产品市场所在省份_新疆  \\\n",
       "0                   0             0             0             0             0   \n",
       "1                   0             0             0             0             0   \n",
       "2                   0             0             0             0             0   \n",
       "3                   0             0             0             0             0   \n",
       "4                   0             0             0             0             0   \n",
       "...               ...           ...           ...           ...           ...   \n",
       "1310755             0             0             0             0             0   \n",
       "1310756             0             0             0             0             0   \n",
       "1310757             0             0             0             0             0   \n",
       "1310758             0             0             0             0             0   \n",
       "1310759             0             0             0             0             0   \n",
       "\n",
       "         农产品市场所在省份_江苏  ...  单位  最低交易价格  平均交易价格  最高交易价格  数据入库年份  数据入库月份  \\\n",
       "0                   0  ...   0     8.0    11.0    13.0    2016       7   \n",
       "1                   0  ...   5     7.0     8.0     9.0    2016       7   \n",
       "2                   0  ...   5     8.0     9.0    10.0    2016       7   \n",
       "3                   0  ...   5     6.0     7.0     9.0    2016       7   \n",
       "4                   0  ...   5     7.0     8.0     9.0    2016       7   \n",
       "...               ...  ...  ..     ...     ...     ...     ...     ...   \n",
       "1310755             0  ...  12     1.0     1.0     1.0    2016       7   \n",
       "1310756             0  ...  12     3.0     3.0     3.0    2016       7   \n",
       "1310757             0  ...  12     4.0     4.0     4.0    2016       7   \n",
       "1310758             0  ...  12     3.6     3.6     3.6    2016       7   \n",
       "1310759             0  ...  12     2.2     2.2     2.2    2016       7   \n",
       "\n",
       "         数据入库日份  数据发布年份  数据发布月份  数据发布日份  \n",
       "0            18    2015      11      27  \n",
       "1            18    2015      11      27  \n",
       "2            18    2015      11      27  \n",
       "3            18    2015      11      27  \n",
       "4            18    2015      11      27  \n",
       "...         ...     ...     ...     ...  \n",
       "1310755      18    2010      12       1  \n",
       "1310756      18    2010      12       1  \n",
       "1310757      18    2010      12       1  \n",
       "1310758      18    2010      12       1  \n",
       "1310759      18    2010      12       1  \n",
       "\n",
       "[1310760 rows x 50 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "cf57c37f",
   "metadata": {},
   "outputs": [],
   "source": [
    "columns_to_move = ['最高交易价格', '平均交易价格', '最低交易价格'] \n",
    "remaining_columns = [col for col in df1.columns if col not in columns_to_move] + columns_to_move  \n",
    "  \n",
    "# 重新排序 DataFrame 的列  \n",
    "df1 = df1[remaining_columns]  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "06ae68cd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份_上海</th>\n",
       "      <th>农产品市场所在省份_云南</th>\n",
       "      <th>农产品市场所在省份_内蒙古</th>\n",
       "      <th>农产品市场所在省份_北京</th>\n",
       "      <th>农产品市场所在省份_四川</th>\n",
       "      <th>农产品市场所在省份_天津</th>\n",
       "      <th>农产品市场所在省份_安徽</th>\n",
       "      <th>农产品市场所在省份_山东</th>\n",
       "      <th>农产品市场所在省份_新疆</th>\n",
       "      <th>农产品市场所在省份_江苏</th>\n",
       "      <th>...</th>\n",
       "      <th>单位</th>\n",
       "      <th>数据入库年份</th>\n",
       "      <th>数据入库月份</th>\n",
       "      <th>数据入库日份</th>\n",
       "      <th>数据发布年份</th>\n",
       "      <th>数据发布月份</th>\n",
       "      <th>数据发布日份</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最低交易价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>13.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>10.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>9.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310755</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310756</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310757</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310758</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310759</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1310760 rows × 50 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         农产品市场所在省份_上海  农产品市场所在省份_云南  农产品市场所在省份_内蒙古  农产品市场所在省份_北京  \\\n",
       "0                   0             1              0             0   \n",
       "1                   0             1              0             0   \n",
       "2                   0             1              0             0   \n",
       "3                   0             1              0             0   \n",
       "4                   0             1              0             0   \n",
       "...               ...           ...            ...           ...   \n",
       "1310755             0             0              0             0   \n",
       "1310756             0             0              0             0   \n",
       "1310757             0             0              0             0   \n",
       "1310758             0             0              0             0   \n",
       "1310759             0             0              0             0   \n",
       "\n",
       "         农产品市场所在省份_四川  农产品市场所在省份_天津  农产品市场所在省份_安徽  农产品市场所在省份_山东  农产品市场所在省份_新疆  \\\n",
       "0                   0             0             0             0             0   \n",
       "1                   0             0             0             0             0   \n",
       "2                   0             0             0             0             0   \n",
       "3                   0             0             0             0             0   \n",
       "4                   0             0             0             0             0   \n",
       "...               ...           ...           ...           ...           ...   \n",
       "1310755             0             0             0             0             0   \n",
       "1310756             0             0             0             0             0   \n",
       "1310757             0             0             0             0             0   \n",
       "1310758             0             0             0             0             0   \n",
       "1310759             0             0             0             0             0   \n",
       "\n",
       "         农产品市场所在省份_江苏  ...  单位  数据入库年份  数据入库月份  数据入库日份  数据发布年份  数据发布月份  \\\n",
       "0                   0  ...   0    2016       7      18    2015      11   \n",
       "1                   0  ...   5    2016       7      18    2015      11   \n",
       "2                   0  ...   5    2016       7      18    2015      11   \n",
       "3                   0  ...   5    2016       7      18    2015      11   \n",
       "4                   0  ...   5    2016       7      18    2015      11   \n",
       "...               ...  ...  ..     ...     ...     ...     ...     ...   \n",
       "1310755             0  ...  12    2016       7      18    2010      12   \n",
       "1310756             0  ...  12    2016       7      18    2010      12   \n",
       "1310757             0  ...  12    2016       7      18    2010      12   \n",
       "1310758             0  ...  12    2016       7      18    2010      12   \n",
       "1310759             0  ...  12    2016       7      18    2010      12   \n",
       "\n",
       "         数据发布日份  最高交易价格  平均交易价格  最低交易价格  \n",
       "0            27    13.0    11.0     8.0  \n",
       "1            27     9.0     8.0     7.0  \n",
       "2            27    10.0     9.0     8.0  \n",
       "3            27     9.0     7.0     6.0  \n",
       "4            27     9.0     8.0     7.0  \n",
       "...         ...     ...     ...     ...  \n",
       "1310755       1     1.0     1.0     1.0  \n",
       "1310756       1     3.0     3.0     3.0  \n",
       "1310757       1     4.0     4.0     4.0  \n",
       "1310758       1     3.6     3.6     3.6  \n",
       "1310759       1     2.2     2.2     2.2  \n",
       "\n",
       "[1310760 rows x 50 columns]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe7d1e4c",
   "metadata": {},
   "source": [
    "## 对数据集product_market进行处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "1ee6e13e",
   "metadata": {},
   "outputs": [],
   "source": [
    "df2=pd.read_csv('product_market.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "aef4080a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 36661 entries, 0 to 36660\n",
      "Data columns (total 10 columns):\n",
      " #   Column     Non-Null Count  Dtype  \n",
      "---  ------     --------------  -----  \n",
      " 0   农产品市场所在省份  36661 non-null  object \n",
      " 1   市场名称映射值    36661 non-null  object \n",
      " 2   农产品类别      36661 non-null  object \n",
      " 3   农产品名称映射值   36661 non-null  object \n",
      " 4   规格         0 non-null      float64\n",
      " 5   区域         0 non-null      float64\n",
      " 6   颜色         0 non-null      float64\n",
      " 7   单位         0 non-null      float64\n",
      " 8   数据入库时间     36661 non-null  object \n",
      " 9   数据发布时间     36661 non-null  object \n",
      "dtypes: float64(4), object(6)\n",
      "memory usage: 2.8+ MB\n"
     ]
    }
   ],
   "source": [
    "df2.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c20ab39",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "f1b02acd",
   "metadata": {},
   "outputs": [],
   "source": [
    "region_code_mapping = {  \n",
    "    '北京': 1, '天津': 1, '河北': 1, '辽宁': 1, '上海': 1, '江苏': 1, '浙江': 1, '福建': 1, '山东': 1, '广东': 1,  # 东部  \n",
    "    '山西': 2, '吉林': 2, '黑龙江': 2, '安徽': 2, '江西': 2, '河南': 2, '湖北': 2, '湖南': 2,  # 中部  \n",
    "    '内蒙古': 3, '广西': 3, '重庆': 3, '四川': 3, '贵州': 3, '云南': 3, '西藏': 3, '陕西': 3, '甘肃': 3, '青海': 3, '宁夏': 3, '新疆': 3  # 西部  \n",
    "}  \n",
    "  \n",
    "df2['区域'] = df2['农产品市场所在省份'].map(region_code_mapping)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "d243e27a",
   "metadata": {},
   "outputs": [],
   "source": [
    "one_hot_encoded_df2 = pd.get_dummies(df2[['农产品市场所在省份', '农产品类别']])  \n",
    "  # 使用 pd.merge 将独热编码后的 DataFrame 与 df1 合并，基于索引  \n",
    "df2 = pd.merge(one_hot_encoded_df2, df2, left_index=True, right_index=True)  \n",
    "df2 = df2.drop(['农产品市场所在省份', '农产品类别'], axis=1)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "2dfda15d",
   "metadata": {},
   "outputs": [],
   "source": [
    "#市场名称映射值\n",
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "   \n",
    "unique_colors = df2['市场名称映射值'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df2['市场名称映射值'] = df2['市场名称映射值'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "8c400262",
   "metadata": {},
   "outputs": [],
   "source": [
    "#农产品名称映射值\n",
    "import pandas as pd  \n",
    "from sklearn.preprocessing import LabelEncoder  \n",
    "\n",
    "# 初始化一个 LabelEncoder  \n",
    "label_encoder = LabelEncoder()  \n",
    "  \n",
    "unique_colors = df2['农产品名称映射值'].unique()  \n",
    "color_to_index = dict(zip(unique_colors, label_encoder.fit_transform(unique_colors)))  \n",
    "index_to_color = dict(zip(label_encoder.transform(unique_colors), unique_colors))  \n",
    "  \n",
    "# 返回原列，并填充编码  \n",
    "df2['农产品名称映射值'] = df2['农产品名称映射值'].map(color_to_index) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "570faf52",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 转换日期列\n",
    "df2['数据入库时间'] = pd.to_datetime(df2['数据入库时间'], errors='coerce')\n",
    "df2['数据发布时间'] = pd.to_datetime(df2['数据发布时间'], errors='coerce')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "88d0eea2",
   "metadata": {},
   "outputs": [],
   "source": [
    "#对日期进行处理\n",
    "df2['数据入库年份']= df2['数据入库时间'].dt.year\n",
    "df2['数据入库月份']= df2['数据入库时间'].dt.month\n",
    "df2['数据入库日份']= df2['数据入库时间'].dt.day\n",
    "\n",
    "df2['数据发布年份']= df2['数据发布时间'].dt.year\n",
    "df2['数据发布月份']= df2['数据发布时间'].dt.month\n",
    "df2['数据发布日份']= df2['数据发布时间'].dt.day\n",
    "\n",
    "df2 = df2.drop(['数据入库时间','数据发布时间'],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "b73c6faf",
   "metadata": {},
   "outputs": [],
   "source": [
    "df2['规格'] = df2['规格'].fillna(1)\n",
    "df2['颜色'] = df2['颜色'].fillna(1)\n",
    "df2['单位'] = df2['单位'].fillna(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "a058d485",
   "metadata": {},
   "outputs": [],
   "source": [
    "df2['最高交易价格'] = 0\n",
    "df2['平均交易价格'] = 0\n",
    "df2['最低交易价格'] = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "8a9f6c08",
   "metadata": {},
   "outputs": [],
   "source": [
    "#导包\n",
    "from sklearn.model_selection import train_test_split  #切分数据集\n",
    "from sklearn.ensemble import RandomForestRegressor  #RFC\n",
    "from sklearn.metrics import mean_absolute_error, mean_squared_error\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn import metrics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "1cf2d27f",
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品名称映射值</th>\n",
       "      <th>农产品市场所在省份_上海</th>\n",
       "      <th>农产品市场所在省份_云南</th>\n",
       "      <th>农产品市场所在省份_北京</th>\n",
       "      <th>农产品市场所在省份_广西</th>\n",
       "      <th>农产品市场所在省份_新疆</th>\n",
       "      <th>农产品市场所在省份_江苏</th>\n",
       "      <th>农产品市场所在省份_浙江</th>\n",
       "      <th>农产品市场所在省份_湖北</th>\n",
       "      <th>农产品市场所在省份_黑龙江</th>\n",
       "      <th>...</th>\n",
       "      <th>单位</th>\n",
       "      <th>市场名称映射值</th>\n",
       "      <th>数据入库年份</th>\n",
       "      <th>数据入库日份</th>\n",
       "      <th>数据入库月份</th>\n",
       "      <th>数据发布年份</th>\n",
       "      <th>数据发布日份</th>\n",
       "      <th>数据发布月份</th>\n",
       "      <th>规格</th>\n",
       "      <th>颜色</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36656</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>25</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36657</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36658</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>27</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36659</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>28</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36660</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>36661 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       农产品名称映射值  农产品市场所在省份_上海  农产品市场所在省份_云南  农产品市场所在省份_北京  农产品市场所在省份_广西  \\\n",
       "0            51             0             0             0             1   \n",
       "1            51             0             0             0             1   \n",
       "2            51             0             0             0             1   \n",
       "3            51             0             0             0             1   \n",
       "4            51             0             0             0             1   \n",
       "...         ...           ...           ...           ...           ...   \n",
       "36656       546             0             1             0             0   \n",
       "36657       546             0             1             0             0   \n",
       "36658       546             0             1             0             0   \n",
       "36659       546             0             1             0             0   \n",
       "36660       546             0             1             0             0   \n",
       "\n",
       "       农产品市场所在省份_新疆  农产品市场所在省份_江苏  农产品市场所在省份_浙江  农产品市场所在省份_湖北  农产品市场所在省份_黑龙江  \\\n",
       "0                 0             0             0             0              0   \n",
       "1                 0             0             0             0              0   \n",
       "2                 0             0             0             0              0   \n",
       "3                 0             0             0             0              0   \n",
       "4                 0             0             0             0              0   \n",
       "...             ...           ...           ...           ...            ...   \n",
       "36656             0             0             0             0              0   \n",
       "36657             0             0             0             0              0   \n",
       "36658             0             0             0             0              0   \n",
       "36659             0             0             0             0              0   \n",
       "36660             0             0             0             0              0   \n",
       "\n",
       "       ...   单位  市场名称映射值  数据入库年份  数据入库日份  数据入库月份  数据发布年份  数据发布日份  数据发布月份   规格  \\\n",
       "0      ...  1.0        3    2016      18       7    2016       1       1  1.0   \n",
       "1      ...  1.0        3    2016      18       7    2016       2       1  1.0   \n",
       "2      ...  1.0        3    2016      18       7    2016       3       1  1.0   \n",
       "3      ...  1.0        3    2016      18       7    2016       4       1  1.0   \n",
       "4      ...  1.0        3    2016      18       7    2016       6       1  1.0   \n",
       "...    ...  ...      ...     ...     ...     ...     ...     ...     ...  ...   \n",
       "36656  ...  1.0        2    2016      18       7    2016      25       1  1.0   \n",
       "36657  ...  1.0        2    2016      18       7    2016      26       1  1.0   \n",
       "36658  ...  1.0        2    2016      18       7    2016      27       1  1.0   \n",
       "36659  ...  1.0        2    2016      18       7    2016      28       1  1.0   \n",
       "36660  ...  1.0        2    2016      18       7    2016      29       1  1.0   \n",
       "\n",
       "        颜色  \n",
       "0      1.0  \n",
       "1      1.0  \n",
       "2      1.0  \n",
       "3      1.0  \n",
       "4      1.0  \n",
       "...    ...  \n",
       "36656  1.0  \n",
       "36657  1.0  \n",
       "36658  1.0  \n",
       "36659  1.0  \n",
       "36660  1.0  \n",
       "\n",
       "[36661 rows x 35 columns]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#数据准备\n",
    "X = df1[df1.columns.difference(['最高交易价格', '平均交易价格', '最低交易价格'])]\n",
    "Y = df1[['最高交易价格', '平均交易价格', '最低交易价格']]\n",
    "Z = df2[df2.columns.difference(['最高交易价格', '平均交易价格', '最低交易价格'])]\n",
    "Z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "8a8f9c0e",
   "metadata": {},
   "outputs": [],
   "source": [
    "#拆分数据集\n",
    "X_train, X_test, Y_train, Y_test = train_test_split(X,\n",
    "                                                    Y,\n",
    "                                                    test_size=0.3,\n",
    "                                                    random_state=536)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "60055f02",
   "metadata": {},
   "outputs": [],
   "source": [
    "rf = RandomForestRegressor(n_estimators=321, max_depth=25)  #建立模型\n",
    "rf.fit(X_train, Y_train)  #模型训练\n",
    "pred = rf.predict(X_test)  #拿训练完的模型对测试集进行预测\n",
    "score_f = rf.score(X_test, Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "8ed125e2",
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE 0.33714867422362316\n",
      "MAE 0.3005423706890375\n",
      "Random Forest:0.954282784004247\n"
     ]
    }
   ],
   "source": [
    "#模型评估\n",
    "print('MSE', mean_squared_error(Y_test, pred))\n",
    "print('MAE', mean_absolute_error(Y_test, pred))\n",
    "print('Random Forest:{}'.format(score_f))\n",
    "#print(\"RF准确率为:{0:%}\".format(metrics.accuracy_score(ss, pred)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "811b5824",
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "The feature names should match those that were passed during fit.\nFeature names unseen at fit time:\n- 农产品市场所在省份_广西\n- 农产品市场所在省份_黑龙江\n- 农产品类别_百合花\nFeature names seen at fit time, yet now missing:\n- 农产品市场所在省份_内蒙古\n- 农产品市场所在省份_四川\n- 农产品市场所在省份_天津\n- 农产品市场所在省份_安徽\n- 农产品市场所在省份_山东\n- ...\n",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[46], line 2\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;66;03m#ss = Y_test.values\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m pred1 \u001b[38;5;241m=\u001b[39m rf\u001b[38;5;241m.\u001b[39mpredict(Z)\n\u001b[0;32m      3\u001b[0m \u001b[38;5;66;03m#pred1\u001b[39;00m\n\u001b[0;32m      4\u001b[0m \u001b[38;5;28mprint\u001b[39m(pred1)\n",
      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sklearn\\ensemble\\_forest.py:1064\u001b[0m, in \u001b[0;36mForestRegressor.predict\u001b[1;34m(self, X)\u001b[0m\n\u001b[0;32m   1062\u001b[0m check_is_fitted(\u001b[38;5;28mself\u001b[39m)\n\u001b[0;32m   1063\u001b[0m \u001b[38;5;66;03m# Check data\u001b[39;00m\n\u001b[1;32m-> 1064\u001b[0m X \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_validate_X_predict(X)\n\u001b[0;32m   1066\u001b[0m \u001b[38;5;66;03m# Assign chunk of trees to jobs\u001b[39;00m\n\u001b[0;32m   1067\u001b[0m n_jobs, _, _ \u001b[38;5;241m=\u001b[39m _partition_estimators(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_estimators, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_jobs)\n",
      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sklearn\\ensemble\\_forest.py:641\u001b[0m, in \u001b[0;36mBaseForest._validate_X_predict\u001b[1;34m(self, X)\u001b[0m\n\u001b[0;32m    638\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m    639\u001b[0m     force_all_finite \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m--> 641\u001b[0m X \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_validate_data(\n\u001b[0;32m    642\u001b[0m     X,\n\u001b[0;32m    643\u001b[0m     dtype\u001b[38;5;241m=\u001b[39mDTYPE,\n\u001b[0;32m    644\u001b[0m     accept_sparse\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcsr\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m    645\u001b[0m     reset\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m    646\u001b[0m     force_all_finite\u001b[38;5;241m=\u001b[39mforce_all_finite,\n\u001b[0;32m    647\u001b[0m )\n\u001b[0;32m    648\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m issparse(X) \u001b[38;5;129;01mand\u001b[39;00m (X\u001b[38;5;241m.\u001b[39mindices\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m!=\u001b[39m np\u001b[38;5;241m.\u001b[39mintc \u001b[38;5;129;01mor\u001b[39;00m X\u001b[38;5;241m.\u001b[39mindptr\u001b[38;5;241m.\u001b[39mdtype \u001b[38;5;241m!=\u001b[39m np\u001b[38;5;241m.\u001b[39mintc):\n\u001b[0;32m    649\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo support for np.int64 index based sparse matrices\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sklearn\\base.py:608\u001b[0m, in \u001b[0;36mBaseEstimator._validate_data\u001b[1;34m(self, X, y, reset, validate_separately, cast_to_ndarray, **check_params)\u001b[0m\n\u001b[0;32m    537\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_validate_data\u001b[39m(\n\u001b[0;32m    538\u001b[0m     \u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m    539\u001b[0m     X\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mno_validation\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    544\u001b[0m     \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mcheck_params,\n\u001b[0;32m    545\u001b[0m ):\n\u001b[0;32m    546\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"Validate input data and set or check the `n_features_in_` attribute.\u001b[39;00m\n\u001b[0;32m    547\u001b[0m \n\u001b[0;32m    548\u001b[0m \u001b[38;5;124;03m    Parameters\u001b[39;00m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    606\u001b[0m \u001b[38;5;124;03m        validated.\u001b[39;00m\n\u001b[0;32m    607\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m--> 608\u001b[0m     \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_feature_names(X, reset\u001b[38;5;241m=\u001b[39mreset)\n\u001b[0;32m    610\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m y \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_tags()[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrequires_y\u001b[39m\u001b[38;5;124m\"\u001b[39m]:\n\u001b[0;32m    611\u001b[0m         \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m    612\u001b[0m             \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThis \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m estimator \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m    613\u001b[0m             \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrequires y to be passed, but the target y is None.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m    614\u001b[0m         )\n",
      "File \u001b[1;32m~\\AppData\\Roaming\\Python\\Python311\\site-packages\\sklearn\\base.py:535\u001b[0m, in \u001b[0;36mBaseEstimator._check_feature_names\u001b[1;34m(self, X, reset)\u001b[0m\n\u001b[0;32m    530\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m missing_names \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m unexpected_names:\n\u001b[0;32m    531\u001b[0m     message \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m    532\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFeature names must be in the same order as they were in fit.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m    533\u001b[0m     )\n\u001b[1;32m--> 535\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(message)\n",
      "\u001b[1;31mValueError\u001b[0m: The feature names should match those that were passed during fit.\nFeature names unseen at fit time:\n- 农产品市场所在省份_广西\n- 农产品市场所在省份_黑龙江\n- 农产品类别_百合花\nFeature names seen at fit time, yet now missing:\n- 农产品市场所在省份_内蒙古\n- 农产品市场所在省份_四川\n- 农产品市场所在省份_天津\n- 农产品市场所在省份_安徽\n- 农产品市场所在省份_山东\n- ...\n"
     ]
    }
   ],
   "source": [
    "#ss = Y_test.values\n",
    "pred1 = rf.predict(Z)\n",
    "#pred1\n",
    "print(pred1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "c2be8f31",
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份_上海</th>\n",
       "      <th>农产品市场所在省份_云南</th>\n",
       "      <th>农产品市场所在省份_内蒙古</th>\n",
       "      <th>农产品市场所在省份_北京</th>\n",
       "      <th>农产品市场所在省份_四川</th>\n",
       "      <th>农产品市场所在省份_天津</th>\n",
       "      <th>农产品市场所在省份_安徽</th>\n",
       "      <th>农产品市场所在省份_山东</th>\n",
       "      <th>农产品市场所在省份_新疆</th>\n",
       "      <th>农产品市场所在省份_江苏</th>\n",
       "      <th>...</th>\n",
       "      <th>单位</th>\n",
       "      <th>数据入库年份</th>\n",
       "      <th>数据入库月份</th>\n",
       "      <th>数据入库日份</th>\n",
       "      <th>数据发布年份</th>\n",
       "      <th>数据发布月份</th>\n",
       "      <th>数据发布日份</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最低交易价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>13.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>10.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>9.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2015</td>\n",
       "      <td>11</td>\n",
       "      <td>27</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310755</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310756</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310757</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310758</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "      <td>3.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1310759</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>12</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2010</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "      <td>2.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1310760 rows × 50 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         农产品市场所在省份_上海  农产品市场所在省份_云南  农产品市场所在省份_内蒙古  农产品市场所在省份_北京  \\\n",
       "0                   0             1              0             0   \n",
       "1                   0             1              0             0   \n",
       "2                   0             1              0             0   \n",
       "3                   0             1              0             0   \n",
       "4                   0             1              0             0   \n",
       "...               ...           ...            ...           ...   \n",
       "1310755             0             0              0             0   \n",
       "1310756             0             0              0             0   \n",
       "1310757             0             0              0             0   \n",
       "1310758             0             0              0             0   \n",
       "1310759             0             0              0             0   \n",
       "\n",
       "         农产品市场所在省份_四川  农产品市场所在省份_天津  农产品市场所在省份_安徽  农产品市场所在省份_山东  农产品市场所在省份_新疆  \\\n",
       "0                   0             0             0             0             0   \n",
       "1                   0             0             0             0             0   \n",
       "2                   0             0             0             0             0   \n",
       "3                   0             0             0             0             0   \n",
       "4                   0             0             0             0             0   \n",
       "...               ...           ...           ...           ...           ...   \n",
       "1310755             0             0             0             0             0   \n",
       "1310756             0             0             0             0             0   \n",
       "1310757             0             0             0             0             0   \n",
       "1310758             0             0             0             0             0   \n",
       "1310759             0             0             0             0             0   \n",
       "\n",
       "         农产品市场所在省份_江苏  ...  单位  数据入库年份  数据入库月份  数据入库日份  数据发布年份  数据发布月份  \\\n",
       "0                   0  ...   0    2016       7      18    2015      11   \n",
       "1                   0  ...   5    2016       7      18    2015      11   \n",
       "2                   0  ...   5    2016       7      18    2015      11   \n",
       "3                   0  ...   5    2016       7      18    2015      11   \n",
       "4                   0  ...   5    2016       7      18    2015      11   \n",
       "...               ...  ...  ..     ...     ...     ...     ...     ...   \n",
       "1310755             0  ...  12    2016       7      18    2010      12   \n",
       "1310756             0  ...  12    2016       7      18    2010      12   \n",
       "1310757             0  ...  12    2016       7      18    2010      12   \n",
       "1310758             0  ...  12    2016       7      18    2010      12   \n",
       "1310759             0  ...  12    2016       7      18    2010      12   \n",
       "\n",
       "         数据发布日份  最高交易价格  平均交易价格  最低交易价格  \n",
       "0            27    13.0    11.0     8.0  \n",
       "1            27     9.0     8.0     7.0  \n",
       "2            27    10.0     9.0     8.0  \n",
       "3            27     9.0     7.0     6.0  \n",
       "4            27     9.0     8.0     7.0  \n",
       "...         ...     ...     ...     ...  \n",
       "1310755       1     1.0     1.0     1.0  \n",
       "1310756       1     3.0     3.0     3.0  \n",
       "1310757       1     4.0     4.0     4.0  \n",
       "1310758       1     3.6     3.6     3.6  \n",
       "1310759       1     2.2     2.2     2.2  \n",
       "\n",
       "[1310760 rows x 50 columns]"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "d8e4c1ba",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品市场所在省份_上海</th>\n",
       "      <th>农产品市场所在省份_云南</th>\n",
       "      <th>农产品市场所在省份_北京</th>\n",
       "      <th>农产品市场所在省份_广西</th>\n",
       "      <th>农产品市场所在省份_新疆</th>\n",
       "      <th>农产品市场所在省份_江苏</th>\n",
       "      <th>农产品市场所在省份_浙江</th>\n",
       "      <th>农产品市场所在省份_湖北</th>\n",
       "      <th>农产品市场所在省份_黑龙江</th>\n",
       "      <th>农产品类别_客菜</th>\n",
       "      <th>...</th>\n",
       "      <th>单位</th>\n",
       "      <th>数据入库年份</th>\n",
       "      <th>数据入库月份</th>\n",
       "      <th>数据入库日份</th>\n",
       "      <th>数据发布年份</th>\n",
       "      <th>数据发布月份</th>\n",
       "      <th>数据发布日份</th>\n",
       "      <th>最高交易价格</th>\n",
       "      <th>平均交易价格</th>\n",
       "      <th>最低交易价格</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36656</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36657</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36658</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36659</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>28</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36660</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2016</td>\n",
       "      <td>7</td>\n",
       "      <td>18</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>36661 rows × 38 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       农产品市场所在省份_上海  农产品市场所在省份_云南  农产品市场所在省份_北京  农产品市场所在省份_广西  农产品市场所在省份_新疆  \\\n",
       "0                 0             0             0             1             0   \n",
       "1                 0             0             0             1             0   \n",
       "2                 0             0             0             1             0   \n",
       "3                 0             0             0             1             0   \n",
       "4                 0             0             0             1             0   \n",
       "...             ...           ...           ...           ...           ...   \n",
       "36656             0             1             0             0             0   \n",
       "36657             0             1             0             0             0   \n",
       "36658             0             1             0             0             0   \n",
       "36659             0             1             0             0             0   \n",
       "36660             0             1             0             0             0   \n",
       "\n",
       "       农产品市场所在省份_江苏  农产品市场所在省份_浙江  农产品市场所在省份_湖北  农产品市场所在省份_黑龙江  农产品类别_客菜  ...  \\\n",
       "0                 0             0             0              0         0  ...   \n",
       "1                 0             0             0              0         0  ...   \n",
       "2                 0             0             0              0         0  ...   \n",
       "3                 0             0             0              0         0  ...   \n",
       "4                 0             0             0              0         0  ...   \n",
       "...             ...           ...           ...            ...       ...  ...   \n",
       "36656             0             0             0              0         0  ...   \n",
       "36657             0             0             0              0         0  ...   \n",
       "36658             0             0             0              0         0  ...   \n",
       "36659             0             0             0              0         0  ...   \n",
       "36660             0             0             0              0         0  ...   \n",
       "\n",
       "        单位  数据入库年份  数据入库月份  数据入库日份  数据发布年份  数据发布月份  数据发布日份  最高交易价格  平均交易价格  \\\n",
       "0      1.0    2016       7      18    2016       1       1       0       0   \n",
       "1      1.0    2016       7      18    2016       1       2       0       0   \n",
       "2      1.0    2016       7      18    2016       1       3       0       0   \n",
       "3      1.0    2016       7      18    2016       1       4       0       0   \n",
       "4      1.0    2016       7      18    2016       1       6       0       0   \n",
       "...    ...     ...     ...     ...     ...     ...     ...     ...     ...   \n",
       "36656  1.0    2016       7      18    2016       1      25       0       0   \n",
       "36657  1.0    2016       7      18    2016       1      26       0       0   \n",
       "36658  1.0    2016       7      18    2016       1      27       0       0   \n",
       "36659  1.0    2016       7      18    2016       1      28       0       0   \n",
       "36660  1.0    2016       7      18    2016       1      29       0       0   \n",
       "\n",
       "       最低交易价格  \n",
       "0           0  \n",
       "1           0  \n",
       "2           0  \n",
       "3           0  \n",
       "4           0  \n",
       "...       ...  \n",
       "36656       0  \n",
       "36657       0  \n",
       "36658       0  \n",
       "36659       0  \n",
       "36660       0  \n",
       "\n",
       "[36661 rows x 38 columns]"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "d2105490",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>农产品名称映射值</th>\n",
       "      <th>农产品市场所在省份_上海</th>\n",
       "      <th>农产品市场所在省份_云南</th>\n",
       "      <th>农产品市场所在省份_北京</th>\n",
       "      <th>农产品市场所在省份_广西</th>\n",
       "      <th>农产品市场所在省份_新疆</th>\n",
       "      <th>农产品市场所在省份_江苏</th>\n",
       "      <th>农产品市场所在省份_浙江</th>\n",
       "      <th>农产品市场所在省份_湖北</th>\n",
       "      <th>农产品市场所在省份_黑龙江</th>\n",
       "      <th>...</th>\n",
       "      <th>单位</th>\n",
       "      <th>市场名称映射值</th>\n",
       "      <th>数据入库年份</th>\n",
       "      <th>数据入库日份</th>\n",
       "      <th>数据入库月份</th>\n",
       "      <th>数据发布年份</th>\n",
       "      <th>数据发布日份</th>\n",
       "      <th>数据发布月份</th>\n",
       "      <th>规格</th>\n",
       "      <th>颜色</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>51</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36656</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>25</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36657</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>26</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36658</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>27</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36659</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>28</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36660</th>\n",
       "      <td>546</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016</td>\n",
       "      <td>18</td>\n",
       "      <td>7</td>\n",
       "      <td>2016</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>36661 rows × 35 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       农产品名称映射值  农产品市场所在省份_上海  农产品市场所在省份_云南  农产品市场所在省份_北京  农产品市场所在省份_广西  \\\n",
       "0            51             0             0             0             1   \n",
       "1            51             0             0             0             1   \n",
       "2            51             0             0             0             1   \n",
       "3            51             0             0             0             1   \n",
       "4            51             0             0             0             1   \n",
       "...         ...           ...           ...           ...           ...   \n",
       "36656       546             0             1             0             0   \n",
       "36657       546             0             1             0             0   \n",
       "36658       546             0             1             0             0   \n",
       "36659       546             0             1             0             0   \n",
       "36660       546             0             1             0             0   \n",
       "\n",
       "       农产品市场所在省份_新疆  农产品市场所在省份_江苏  农产品市场所在省份_浙江  农产品市场所在省份_湖北  农产品市场所在省份_黑龙江  \\\n",
       "0                 0             0             0             0              0   \n",
       "1                 0             0             0             0              0   \n",
       "2                 0             0             0             0              0   \n",
       "3                 0             0             0             0              0   \n",
       "4                 0             0             0             0              0   \n",
       "...             ...           ...           ...           ...            ...   \n",
       "36656             0             0             0             0              0   \n",
       "36657             0             0             0             0              0   \n",
       "36658             0             0             0             0              0   \n",
       "36659             0             0             0             0              0   \n",
       "36660             0             0             0             0              0   \n",
       "\n",
       "       ...   单位  市场名称映射值  数据入库年份  数据入库日份  数据入库月份  数据发布年份  数据发布日份  数据发布月份   规格  \\\n",
       "0      ...  1.0        3    2016      18       7    2016       1       1  1.0   \n",
       "1      ...  1.0        3    2016      18       7    2016       2       1  1.0   \n",
       "2      ...  1.0        3    2016      18       7    2016       3       1  1.0   \n",
       "3      ...  1.0        3    2016      18       7    2016       4       1  1.0   \n",
       "4      ...  1.0        3    2016      18       7    2016       6       1  1.0   \n",
       "...    ...  ...      ...     ...     ...     ...     ...     ...     ...  ...   \n",
       "36656  ...  1.0        2    2016      18       7    2016      25       1  1.0   \n",
       "36657  ...  1.0        2    2016      18       7    2016      26       1  1.0   \n",
       "36658  ...  1.0        2    2016      18       7    2016      27       1  1.0   \n",
       "36659  ...  1.0        2    2016      18       7    2016      28       1  1.0   \n",
       "36660  ...  1.0        2    2016      18       7    2016      29       1  1.0   \n",
       "\n",
       "        颜色  \n",
       "0      1.0  \n",
       "1      1.0  \n",
       "2      1.0  \n",
       "3      1.0  \n",
       "4      1.0  \n",
       "...    ...  \n",
       "36656  1.0  \n",
       "36657  1.0  \n",
       "36658  1.0  \n",
       "36659  1.0  \n",
       "36660  1.0  \n",
       "\n",
       "[36661 rows x 35 columns]"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cee48a3c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.19"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
